Как запихнуть TV в [[%language]]?

Всем привет!

Подскажите, пожалуйста, как в конструкцию [[%key? &namespace=`sitename`]] вставить TV-параметр?

[[%[[*tv-name]]? &namespace=`sitename`]] или [[%[[*tv-name]]? &namespace=`sitename` &includeTVs=`tv-name`]] не работают.

Спасибо.
Евгений
10 сентября 2018, 11:51
modx.pro
774
0

Комментарии: 6

Іван Клімчук
10 сентября 2018, 12:40
0
[[%key? &placeholder=`[[*tv-name]]`]]
при условии, что в самом строке лексикона есть плейсхолдер вида
[[+placeholder]]
т.е.
'Тут будет выведено вот это значение TV [[+placeholder]]'
    Евгений
    10 сентября 2018, 13:10
    0
    Не совсем понял, можно пояснить?

    Живой пример:
    на странице есть tv с выпадающим списком, значения которого равны имени в лексиконе, например:
    paphos__konia==paphos__konia
    существует пространство имен aveo
    в файле лексикона есть строка:
    $_lang['paphos__konia'] = 'Konia';
    Каким образом ее вывести на данную страницу и на другую страницу, взяв текущее значение TV?
      Іван Клімчук
      10 сентября 2018, 13:16
      +1
      Ну так сразу так и писали бы, а то «как в конструкцию [[%key? &namespace=`sitename`]] вставить TV-параметр» звучит совсем не так, как ваш теперешний комментарий.

      В таком случае
      [[%[[*tv-name]]? &namespace=`sitename`]]
      должно работать. Но, стоит проверить, действительно ли [[*tv-name]] что-то выводит на страницу или нет. Второй момент, лексиконы имеют свойство «очень сильно» кешироваться, поэтому стоит убедиться, что кеш сброшен после изменений в лексиконах. В третьих, стоит убедиться что выбран правильный язык и значение лексикона для языка существует.
        Евгений
        10 сентября 2018, 13:27
        0
        Извиняюсь, если изначально неверно сформулировал суть вопроса.
        Проблема как раз в том, что данная конструкция не работает… не могу понять почему.

        Пробую так:
        [[%paphos__konia? &namespace=`aveo`]]
        работает, выдает Konia
        вставляю просто TV:
        [[*objectArea]]
        работает, т.е. выдает paphos__konia
        вставляю:
        [[%[[*objectArea]]? &namespace=`aveo`]]
        перестает работать.
          Евгений
          10 сентября 2018, 13:30
          0
          Все заработало. Видимо проблема действительно в кэше лексикона была — все почистил и проблема пропала.
          Спасибо за ответ!
            Іван Клімчук
            10 сентября 2018, 13:31
            0
            Вероятно проблема в порядке вызова парсера. Стоит, в таком случае, посмотреть в сторону своего снипета, где вызвать $modx->lexicon() с необходимыми параметрами.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      6