MODX - Как можно вывести через docid больше одного ресурса?

Maxim Sokolkov
Maxim Sokolkov
1.2K
0
Добрый день. Подскажите, пожалуйста, можно ли вывести через &docid больше одного ресурса? Пример: Хочу выводить список сотрудников на главную

<div class="team-carousel text-center">
[[getImageList? 
&tvname=`team`
&tpl=`teamElementIndex`
&limit=`0`
&docid=`[[*teampageid]]`
]]
</div>
Проблема в том, что есть несколько ресурсов с сотрудниками. Погуглил, нашел вариант такой: — Получить json данные нужных TV — Декодировать все эти данные через json_decode($tv,true) — Объединить полученные массивы с помощью array_merge — Закодировать полученный объединенный массив используя json_encode — Передать его в getImageList с помощью параметра &value Пример сниппета json_merge:

<?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);
        }
    }
}
for($i=0; $i<count($json); $i++) {
    $json[$i]['MIGX_id']=($i+1);
}
return json_encode($json);
Вывожу так:

<div class="team-carousel text-center">
[[getImageList? 
&tpl=`teamElementIndex`
&value=`[[json_merge? &input=`[[*teampageid]]` &tvid=`34`]]`
]]
</div>
Проблема в том, что вывод "склеивает" всё в один раздел. Т.е. например 5 сотрудников из одного раздела выводятся корректно, а остальные "добавляются" к этому же разделу и не перекидывают на верный. teamElementIndex:

<div class="item">
	<div class="element">
		<div class="img-wrapper">
			<a href="[[~[[*teampageid]]]]#block[[+MIGX_id]]"><img src="[[+team-img:phpthumbon=`w=170&h=180&zc=1&q=90`]]" /></a>
		</div>
		<div class="push15"></div>
		<div class="title f15 bold white">
			<a href="[[~[[*teampageid]]]]#block[[+MIGX_id]]">[[+team-name]]</a>
		</div>
		<div class="text f13">[[+team-post]]</div>
	</div>
</div>

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