Сортировка ресурсов в pdoResources

Сделать сортировку всех ресурсов по порядку в pdoResources

Сортировка ресурсов в pdoResources

0
4.8
5
1
41

Простой и рабочий способ сортировки ресурсов по порядку в дереве front-end контекста Вашего сайта.

Часто работая с компонентами pdoResources сталкиваешься с тем, что не работает сортировка по порядку.

Сделать сортировку всех ресурсы по порядку в контексте можно очень просто.

  1. Создать сниппед с названием Sort.
<?php
$sort = $_GET['sort'];
$type = $_GET['type'];
$tv = $_GET['tv'];
if(isset($sort)) {
    if($tv == 1) {
        if($integer == 1) $integer = '&sortdirTVType=`integer`';
        $output = '
        &sortbyTV=`'.$sort.'`
        &sortdirTV=`'.$_GET['dir'].'`
        '.$integer.'
        ';
    } else {
        $output = '
        &sortby=`'.$sort.'`
        &sortdir=`'.$_GET['dir'].'`
        ';
    }
} else {
    if($defsort == '') $defsort = 'menuindex';
    if($defdir == '') $defdir = 'ASC';
    $output='
    &sortby=`'.$defsort.'`
    &sortdir=`'.$defdir.'`
    ';
}
return $output;
  1. Добавить в вызов сниппета 
[[pdoResources? 
    &parents=`...`
    &resources=`...`
    &depth=`...`
    &level=`...`
    &tpl=`...`
    &limit=`...`
    &includeTVs=`...`
    &includeContent=`1`
    &processTVs=`1`
    &docid=`1`
   
 [[Sort? 
    &defsort=``
   ]]
]]

или 

[[!pdoPage?
&parents=`...`
&tpl=`...`
&limit=`...`
[[!Sort]]
]]

По умолчанию 

defsort=`` — будет сортировка по порядку ресурсов.
 

Поддерживаются 2-е конфигурации:

Пустое значение

[[Sort? 
   ]]

 или defsort=`` сортирует по меню и по порядку в дереве ресурсов,

&defdir=`` сортирует от меньшего к большему (ASC)

это конфигурация (ASC) можно использовать сортировку в дереве ресурсов по алфавитному порядку, например так:
 

[[!pdoResources?
&parents=`...`
&tpl=`...`
&limit=`...`
[[!Sort? &defsort=`pagetitle`]]
]]

Стандартные pdo — параметры &sortdir или &sortby указывать не надо.

 

Комментарии