Динамическое изменение количества объектов на странице
Материал из Umicms
Версия от 12:54, 5 июня 2013; Mad grant (обсуждение | вклад)
В tpl-шаблонах, стандартными средствами не реализовать динамическое изменение количества отображаемых объектов каталога на странице. Но решить данную задачу можно с помощью небольшого кастомного макроса. В файле classes/modules/custom.php пропишем следующий метод:
public function getcount(){
$count = (int)htmlspecialchars(getRequest('count');
if(!$count) $count =15;
return $count;
}
А в шаблоне, который выводит форму фильтрации, допустим в файле: tpls/catalog/search.tpl в блоке search_block, добавим в форму еще один фильтр:
На одной странице: <select name="count"> <option value="15">15</option> <option value="30">30</option> </select>
В шаблоне tpls/catalog/default.tpl в блоке category, макрос getObjectsList пропишем следующим образом:
%catalog getObjectsList('default', '%category_id%', %custom getcount()%)%
В итоге, при выборе параметра из выпадающего списка, он отобразится в адресной строке. Кастомным макросом мы получим значение этого параметра и подставим в макрос getObjectsList.