Вывести информацию из нескольких docid?
Может кто решал такую задачу. Поделитесь, пожалуйста, решением. Нужно вывести с помощью getImageList информацию из нескольких разделов. Сам tv-параметр сделала как список ресурсов (множественный выбор) и содержит в себе вот такие значения: «28, 29».
Комментарии: 4
Можно написать сниппет обертку в который будет поступать список id, разбиваться по разделителю и в цикле вызывать getImageList!)
Подсказали решение. Вот сниппет docids:
Если ошибку сразу видно, подскажите, пожалуйста?
<?php
$json = array();
$tvid = (int)$tvid;
$tmp = explode(',',$input);
foreach ($tmp as $tvs) {
if ((int)$tvs > 0) {
if ($tv = $modx->getObject('modTemplateVarResource', array('contentid' => (int)$tvs, 'tmplvarid' => $tvid))) {
$tvj = json_decode($tv->get('value'),true);
$json = array_merge($json,$tvj);
}
}
}
return json_encode($json);
Вот вызов: [[getImageList? &tvname=`price` &tpl=`price.tpl` &value=`[[docids? &input=`[[*forprice]]` &tvid=`5`]]
Но так выводится только из одного раздела, вот так из всех, которые в forprice:[[docids? &input=`[[*forprice]]` &tvid=`5`]]
[[*forprice]] содержит «28, 29».Если ошибку сразу видно, подскажите, пожалуйста?
Судя по всему это не подсказали, а написали за вас!))) И в результате вы не понимаете что делаете! Что у вас сниппет возвращает??? По идее он должен вернуть массив.
Ой, не массив а json.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.