Вывод двух значений TV
Есть TV (author) с множественным выбором и разделителем (||).
Возможные значения выбираются из заголовка ресурса:
И выводятся в виде цифр.
В шаблоне я вывожу значение TV через fastField:
Как можно решить эту проблему?
Возможные значения выбираются из заголовка ресурса:
@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 одно значение.Как можно решить эту проблему?
Комментарии: 2
Попробуй вызывать не кешированным
А как он, по-вашему, должен вывести заголовки нескольких ресурсов в одном месте? Один поверх другого?
Надо самостоятельно — в сниппете — разбить значение ТВ на кусочки и каждый кусочек использовать для получения заголовка.
Как-то так:
Надо самостоятельно — в сниппете — разбить значение ТВ на кусочки и каждый кусочек использовать для получения заголовка.
Как-то так:
<?php // [[*author:getTitles]]
$output = array(); $input = explode('||', $input);
foreach ($input as $id) {
if ($res = $modx->getObject('modResource', $id)) {
$output[] = $res->pagetitle;
}
}
return implode(', ',$output);
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.