Вывод двух значений TV

Есть TV (author) с множественным выбором и разделителем (||).

Возможные значения выбираются из заголовка ресурса:
@EVAL return $modx->runSnippet('pdoResources', array('parents'=>25, 'depth'=>1, 'limit'=>0, 'where'=>'{"isfolder:=":0}', 'sortby'=>'{"pagetitle":"ASC"}', 'tpl'=>'@INLINE [[+pagetitle]]==[[+id]]', 'outputSeparator'=>'||'));

И выводятся в виде цифр.

В шаблоне я вывожу значение TV через fastField:
[[#[[*author]].pagetitle]]
Сниипет работает, но только если у TV одно значение.

Как можно решить эту проблему?
Павел
21 апреля 2016, 23:59
modx.pro
1
1 335
0

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

Георгий Пушкин
20 июня 2016, 18:46
0
Попробуй вызывать не кешированным
    Илья Уткин
    20 июня 2016, 20:48
    0
    А как он, по-вашему, должен вывести заголовки нескольких ресурсов в одном месте? Один поверх другого?

    Надо самостоятельно — в сниппете — разбить значение ТВ на кусочки и каждый кусочек использовать для получения заголовка.

    Как-то так:

    <?php // [[*author:getTitles]]
    $output = array(); $input = explode('||', $input);
    foreach ($input as $id) {
      if ($res = $modx->getObject('modResource', $id)) {
        $output[] = $res->pagetitle;
      }
    }
    return implode(', ',$output);
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      2