Page 1 of 1

Количество элементов в категории Модуль Cataloger

Posted: Sun Dec 16, 2012 8:30 am
by AtonS
Здравствуйте!

Подскажите как вывести количество элементов в категории модуля каталога.

Пробывал {$items|count} - выводит сколько элементов в текущей категории а надо показать сколько товаров добавлено в каждую категорию

Re: Количество элементов в категории Модуль Cataloger

Posted: Sun Dec 16, 2012 10:06 pm
by AtonS
Вот как сделал:

Code: Select all

{if $cgsimple->get_children($items[numloop].alias,0,$items[numloop].children)|@count>1}({$cgsimple->get_children($items[numloop].alias,0,$items[numloop].children)|@count}){/if}
Ну может не очень элегантный код, но вроде работает. Если есть другое решение прошу написать.

Re: Количество элементов в категории Модуль Cataloger

Posted: Tue Dec 18, 2012 4:29 pm
by guro
Создайте тег пользователя "get_count"

Code: Select all

global $smarty;
$smarty->assign($params['assign'], count($params['elem']));
В шаблоне вызовите

Code: Select all

{get_count elem=$items assign=count_items}
Далее в шаблоне можно использовать smarty переменную {$count_items}

Этот вариант гораздо менее затратный. Нет дополнительных sql запросов, не подключается class cgsimple.
А так же можно использовать не только для каталогера.

PS
Ну, или проще всё-таки вот так

Code: Select all

{$items|@count}
;D
Если модификатор применяется к переменной-массиву, то он будет применен к каждому элементу массива. Если же требуется применить модификатор к массиву, как к переменной, то необходимо перед именем модификатора указать символ @.
источник - "http://www.smarty.net/docsv2/ru/language.modifiers.tpl"