Сортировка в макросе getCategoryList — различия между версиями
Материал из Umicms
| XiBOR (обсуждение | вклад) | Mad grant (обсуждение | вклад)  | ||
| (не показаны 2 промежуточные версии 1 участника) | |||
| Строка 1: | Строка 1: | ||
| + | '''Актуально для версии 2.9''' | ||
| + | |||
| Чтобы добавить параметр сортировки к макросу getCategoryList достаточно изменить две строчки.<br /> | Чтобы добавить параметр сортировки к макросу getCategoryList достаточно изменить две строчки.<br /> | ||
| − | 1. Добавить параметр к функции  | + | Перепишем название макроса на customGetCategoryList.<br /> | 
| + | 1. Добавить параметр к функции customGetCategoryList примерно такого вида $sort = 1. | ||
| <source lang="php"> | <source lang="php"> | ||
| − | public function  | + | public function customGetCategoryList($template = "default", | 
| 				$sort = 1, | 				$sort = 1, | ||
| 				$category_id = false, | 				$category_id = false, | ||
| Строка 21: | Строка 24: | ||
| <br/> Теперь в нашем кастомном макросе мы можем использовать второй, необязательный параметр, ставя его в значение 1 или 0. | <br/> Теперь в нашем кастомном макросе мы можем использовать второй, необязательный параметр, ставя его в значение 1 или 0. | ||
| − | <br/> http://example.com/udata://catalog/ | + | <br/> http://example.com/udata://catalog/customGetCategoryList//0/36 | 
| − | [[Категория: | + | [[Категория:Написание кастомных макросов]][[Категория:Модуль Каталог]] | 
Текущая версия на 11:16, 5 июня 2013
Актуально для версии 2.9
Чтобы добавить параметр сортировки к макросу getCategoryList достаточно изменить две строчки.
Перепишем название макроса на customGetCategoryList.
1. Добавить параметр к функции customGetCategoryList примерно такого вида $sort = 1.
public function customGetCategoryList($template = "default",
				$sort = 1,
				$category_id = false,
				$limit = false,
				$ignore_paging = false,
				$i_need_deep = 0)
Находим в функции такую строку:
for($i = 0; $i < $sz; $i++) {
Заменяем её на:
	for($sort==1 ? $b=0 : $b=($sz*(-1)+1) and $sz = 1;$b < $sz;$b++) {
		$i = abs($b);
Незабываем, что результат действий необходимо сохранить в файле __custom.php, и добавить права на выполнение макроса в permissions.custom.php.
 Теперь в нашем кастомном макросе мы можем использовать второй, необязательный параметр, ставя его в значение 1 или 0.
 http://example.com/udata://catalog/customGetCategoryList//0/36
