Вывести информацию из нескольких docid?

Может кто решал такую задачу. Поделитесь, пожалуйста, решением. Нужно вывести с помощью getImageList информацию из нескольких разделов. Сам tv-параметр сделала как список ресурсов (множественный выбор) и содержит в себе вот такие значения: «28, 29».
Любовь
15 февраля 2018, 14:00
modx.pro
836
0

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

Максим
15 февраля 2018, 18:50
0
Можно написать сниппет обертку в который будет поступать список id, разбиваться по разделителю и в цикле вызывать getImageList!)
    Любовь
    16 февраля 2018, 13:37
    0
    Подсказали решение. Вот сниппет 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».

    Если ошибку сразу видно, подскажите, пожалуйста?
      Максим
      17 февраля 2018, 08:57
      0
      Судя по всему это не подсказали, а написали за вас!))) И в результате вы не понимаете что делаете! Что у вас сниппет возвращает??? По идее он должен вернуть массив.
    Максим
    17 февраля 2018, 09:11
    0
    Ой, не массив а json.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      4