Вывод значений tvSuperSelect текущего документа

Реализовываю каталог продукции опциями (тегами) с помощью tvSuperSelect.
Подскажите, как вывести в карточке товара заполненные значения для тв-полей (как обычные tv выводятся в виде [[*tv_name]]).

Т.е. без фильтрации и прочего — просто в строку перечень заданных у товара тегов.
Николай
10 июля 2017, 13:10
modx.pro
1 449
0

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

Klike
10 июля 2017, 17:35
0
Что выводится через [[$tv_name]]?
    Николай
    10 июля 2017, 17:45
    0
    вы имеете ввиду через [[*tv_name]]? на некоторых товарах ["\u041b\u0414\u0421\u041f"] (JSON)
      Klike
      10 июля 2017, 17:48
      0
      Fenom не используется на сайте, верно? С ним эту строчку легко можно в нормальный вид превратить.
        Николай
        10 июля 2017, 17:58
        0
        В шаблонах — нет.
        с Fenom какие есть варианты?
          Klike
          10 июля 2017, 18:13
          0
          с Fenom например, так:
          Вывести через запятую:
          {set $tv_name = ''|resource:'tv.tv_name' | fromJSON}
          {$tv_name | join : ', '}
          Дополнительное оформление строки:
          {set $tv_name = ''|resource:'tv.tv_name' | fromJSON}
          <ul>
          {foreach $tv_name as $tv}
          	<li>{$tv}</li>
          {/foreach}
          </ul>
            Klike
            10 июля 2017, 19:18
            0
            Либо сниппетом или модификатором также обработать
              Николай
              10 июля 2017, 19:28
              0
              Fenom не подключен к этому проекту, думаю как еще можно реализовать(
                Klike
                10 июля 2017, 23:24
                +1
                Создаешь сниппет, с таким кодом:
                <?php
                $id = $modx->resource->id;
                $query = $modx->newQuery('modTemplateVarResource', array(
                    'tmplvarid' => 3, // ID TV поля
                    'contentid' => $id,
                ));
                $query->select('value');
                $tv_value = $modx->getValue($query->prepare());
                $tv =  $modx->fromJSON($tv_value);
                return implode($tv, ', ');
                И вызываешь в нужном месте.
                  Николай
                  11 июля 2017, 12:41
                  0
                  Огромное спасибо, все получилось.
                    Klike
                    11 июля 2017, 12:43
                    0
                    пожалуйста)
                    Сергей
                    07 ноября 2018, 22:01
                    0
                    А можно еще сделать так, чтобы $tv_value были кликабельными ссылками?
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        11