Сортировка в макросе getCategoryList — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
 
(не показаны 2 промежуточные версии 1 участника)
Строка 1: Строка 1:
 +
'''Актуально для версии 2.9'''
 +
 
Чтобы добавить параметр сортировки к макросу getCategoryList достаточно изменить две строчки.<br />
 
Чтобы добавить параметр сортировки к макросу getCategoryList достаточно изменить две строчки.<br />
1. Добавить параметр к функции getCategoryList примерно такого вида $sort = 1.
+
Перепишем название макроса на customGetCategoryList.<br />
 +
1. Добавить параметр к функции customGetCategoryList примерно такого вида $sort = 1.
 
<source lang="php">
 
<source lang="php">
public function getCategoryList($template = "default",
+
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/getCategoryList//0/36
+
<br/> http://example.com/udata://catalog/customGetCategoryList//0/36
[[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]]
+
[[Категория:Написание кастомных макросов]][[Категория:Модуль Каталог]]

Текущая версия на 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