Сортировка выдачи

Как реализовывается функционал сортировки?

К примеру




pdoTools имеет такую возможность?
Павел Левин
27 января 2015, 12:07
modx.pro
1
1 556
0

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

Василий Наумкин
27 января 2015, 18:19
0
У pdoResources есть параметр &where — он позволяет указывать произвольные параметры для условий выборки.
    Павел Левин
    27 января 2015, 19:14
    0
    Как я понял здесь идет 3 вызова в разных документах.

    Я думал о воздействии на один и тот же вызов pdoResources… м.б. с помощью $_GET или $_COOKIES.

    Чтоб организовать выдачу «по дате добавления» «по дате обновления» «по заголовку»
        Павел Левин
        16 февраля 2015, 00:18
        1
        0
        Я сделал по другому.

        Создал простой сниппет:
        // Определяем переменную с результатом
        $result='';
        
        // Ищем нужную cookie
        if(isset($_COOKIE['last-sort'])) {
            $sort=preg_replace('/[^0-9\s]/','',$_COOKIE['last-sort']);
        } else {
            $sort=0;
        }
        
        // Возвращаем результат
        if ($sort == 1) {
            $result = '&sortby=`pagetitle` &sortdir=`ASC`';//по алфавиту
        } elseif ($sort == 2) {
            $result = '&sortby=`publishedon` &sortdir=`DESC`';//по дате добавления
        } elseif ($sort == 3) {
            $result = '&sortby=`editedon` &sortdir=`DESC`';//по дате обновления
        } elseif ($sort == 4) {
            $result = '&sortby=`pagetitle` &sortdir=`DESC`';//по алфавиту
        } elseif ($sort == 5) {
            $result = '&sortby=`publishedon` &sortdir=`ASC`';//по дате добавления
        } elseif ($sort == 6) {
            $result = '&sortby=`editedon` &sortdir=`ASC`';//по дате обновления
        }
        
        return $result;

        Далее я манипулирую с js. Подставляю значения cookies и классы для псевдо ссылок (спаны).
        Соответственно сниппет я вызываю в вызове pdoPage.

        Классы по умолчанию подставляются через js т.к. я заранее знаю, что у меня по умолчанию «сортировка по дате добавления» и я ссылаюсь на объект по индексу. Все манипуляции также происходят с индексами, за идеал я взял 1-3 и 4-6, манипулирую с 3-й, отталкиваясь от класса desc.

        Расписал, мало ли кому будет интересно. В целом работает.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    4