Сортировка в getImageList в обратном порядке

getImageList - сниппет в составе MIGx, предназначенный для вывода значений из MIGx TV.

Сниппет предоставляет широкие возможности в плане сортировки. Если обратиться к официальной документации, можно увидеть, что сортировать выходные данные можно при помощи:

  • Параметра sort:
    
            &sort=`[{"sortby":"age","sortdir":"DESC","sortmode":"numeric"},{"sortby":"name","sortdir":"ASC"}]`
        
  • Параметра randomize:
    
            &randomize=`1`
        

Понятно как они работают, все довольно прозрачно, удобно и, казалось бы, можно реализовать вывод элементов в любой комбинации, однако почему-то отсутствует возможность вывода элементов в обратном порядке. Это кажется еще более странным при наличии возможности вывода в случайном порядке. На одном из проектов потребовалось выводить элементы MIGx как в прямом, так и в обратном порядке относительно их расположения в админке. Не найдя решения на странице с документацией, полез в код сниппета с целью добавить пару строчек. Однако, как оказалось, они там уже есть, хотя почему-то в документации об этом не упоминается:

    
    $reverse = $modx->getOption('reverse', $scriptProperties, '0');
    
    ...
    
    if (!empty($reverse)) {
        $items = array_reverse($items);
    }
    
То есть getImageList позволяет изменить порядок вывода элементов на обратный относительно того, как они забиты в админке при помощи параметра reverse:

        &reverse=`1`
    

Теги: сниппет, MODX, Revolution, getImageList

Сообщение отправлено

Закрыть