UMI-CMS: %system getFilteredPages()%
Очень полезный макрос, который толком нигде нормально не описан, а точнее нет полноценных примеров использования.
Параметры: system getFilteredPages(type_id, prop_name, value, [per_page = 10, template = ‘default’, ignore_paging = false, field_id = false, asc = true])
tipe_id — id типа данных объектов, по которым нужно произвести фильтрацию. Просмотреть id можно в «Шаблонах данных» наведя курсор мыши на иконку редактирования объекта данных.
prop_name — название поля по которому будет производится фильтрация.
value — значение поля, по которому будет происходить фильтрация
per_page — количество выводимых объектов
template — шаблон по которому выводится выборка
ignore_paging — параметр определяет, влияет ли на результаты фильтрации наличие в URL — ?p= . Может принимать значение 1 или 0
field_id — ID поля по которому можно произвести сортировку данных. Данный параметр можно только увидеть в HTML коде. К примеру необходимо узнать какой id у поля price шаблона данных. Открываем шаблон данных для редактирования, в браузере выбираем просмотр html кода (в разных браузерах этот пункт меню называется по разному, но как правило он есть в контекстном меню, т.е. при нажатии правой кнопки мыши), и там ищется подобный код:
type.addField(3504, {id : 8918, title : 'Цена', name : 'price', tip : '', typeId : 25, typeName : 'Цена', visible : true, required : false, filterable : true, indexable : false, locked : true}); |
Из кода видно, что у поля price id равен 8918
asc — направление сортировки. Может принимать значение 1 или 0
Папка для шаблонов tpl: /tpls/filtered_pages/
По умолчанию в документации по данному макросу написано:
Используемые блоки шаблона pages_block Блок для вывода всего списка. %items% Место отображения результатов. pages_block_line Блок оформления отдельной строки из списка результатов. %link% Ссылка на страницу на сайте. %name% Название страницы. pages_block_empty Блок вывода текста при отсутствии результатов выборки. |
Но, в блоке pages_block_line, кроме %link% и %name% можно еще вывести %id% страницы, а это означает что здесь уже можно вызывать такие макросы, как: %catalog viewObject(%id%, ‘default’)% и др., что позволяет отфильтрованный список показать в детальном виде, а не только в виде списка, как в примере из документации.
Спасибо!!! Помогло!
Спасибо! Только с вашей помощью нашел field_id.