Фильтр по первой букве (по алфавиту) будет полезен тем, кому необходимо вывести сверху/снизу весь алфавит и при клике на определенную букву выводить соответствующие ей ресурсы.
Для начала создаем сниппет который с помощью pdoTools будет выводить буквы-ссылки на основе реальных заголовков ресурсов в категории:
$par = array(
'tpl' => '@INLINE [[+pagetitle:first]]',
'limit' => 0,
'outputSeparator' => '|'
);
$list = $modx->runSnippet('pdoResources', $par);
$arr = explode('|', $list);
$array = array_unique($arr);
natsort($array);
foreach ($array as $value) {
$id = $modx->resource->get('id');
$url = $modx->makeUrl($id, '', 'l='.$value.'');
$output .= '<a href="'.$url.'">'.$value.'</a>';
}
return $output;
Далее, создаем свой модификатор first
:
return mb_substr($input,0,1,'UTF-8');
А выборку будем делать через параметр &where
, вот так:
javascript
[[pdoResources?
...
&where=`{"pagetitle:LIKE":"[[!#GET.l]]%"}`
...
]]
javascript
На этом все.