В мае 2018 года у сниппета pdoResources нет стандартной возможности разбить вывод на 2 равные части. Но зато у нас есть возможность написать простой сниппет для реализации наших необузданных желаний!
[[!pdoResources? .... &toSeparatePlaceholders=`column_item_` ]] [[!printColumnItem? &placeholderName=`column_item_` &colums=`2` &wrapperTpl=`blog_colum_wr` ]]
Пишем сниппет printColumnItem
:
$phn = $placeholderName; $colums = (int)$colums ? (int)$colums : 2; if(empty($wrapperTpl)){ echo "Для сниппета printColumnItem не указан параметр wrapperTpl"; } if(empty($placeholderName)){ echo "Для сниппета printColumnItem не указан параметр placeholderName"; return; } foreach ($modx->placeholders as $key => $ph) { if (strpos($key, $phn) === 0 && $key != $phn."log") { $placeholders[$key] = $ph; } } $output = ""; foreach(array_chunk($placeholders, count($placeholders) / $colums) as $column){ $data = ""; foreach($column as $v){ $data .= $v; } $output .= $modx->getChunk($wrapperTpl,array('output' => $data)); } return $output;
Пример чанка blog_colum_wr
:
<div class="col-sm-12 col-md-6">[[+output]]</div>
Скажите, а как в этом случае ограничить количество записей в блоке?
В вызове mFilter2
Делаю все по инструкции, но при использовании toSeparatePlaceholders сыпятся ошибки
'parents' => '1',
'limit' => '10',
'sortby' => 'pagetitle'
'toSeparatePlaceholders' => 'column_item_'
]}