Вывод количества объектов в категории TPL — различия между версиями
Материал из Umicms
Alexei (обсуждение | вклад) (Новая страница: «'''Актуально для версии 2.9.6''' Задача - вывести количество товаров напротив каждой подкатег…») |
Alexei (обсуждение | вклад) |
||
Строка 2: | Строка 2: | ||
Задача - вывести количество товаров напротив каждой подкатегории(к примеру чтоб напротив категории аксессуары стояла цифра 3, то есть количество аксессуаров) | Задача - вывести количество товаров напротив каждой подкатегории(к примеру чтоб напротив категории аксессуары стояла цифра 3, то есть количество аксессуаров) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | В файле classes/modules/custom.php после строки //TODO: Write your own macroses here пропишем следующий макрос: | |
+ | |||
<source lang="php"> | <source lang="php"> | ||
− | + | public function productsCount($pageId) { | |
− | |||
− | $ | ||
− | $ | + | $objectTypesCollection = umiObjectTypesCollection::getInstance(); |
− | + | $hierarchy = umiHierarchy::getInstance(); | |
− | + | ||
+ | $product_basetype_id = $objectTypesCollection->getBaseType( 'catalog', 'object' ); | ||
+ | $product_hierarchy_type_id = $objectTypesCollection->getType( $product_basetype_id )->getHierarchyTypeId(); | ||
+ | |||
+ | $unactive_product = false; | ||
+ | $unvisible_product = true; | ||
+ | |||
+ | $count = $hierarchy->getChildsCount( $pageId, $unactive_product, $unvisible_product, 0, $product_hierarchy_type_id); | ||
+ | |||
+ | return($count); | ||
+ | } | ||
?> | ?> |
Версия 10:27, 2 июня 2014
Актуально для версии 2.9.6
Задача - вывести количество товаров напротив каждой подкатегории(к примеру чтоб напротив категории аксессуары стояла цифра 3, то есть количество аксессуаров)
В файле classes/modules/custom.php после строки //TODO: Write your own macroses here пропишем следующий макрос:
public function productsCount($pageId) {
$objectTypesCollection = umiObjectTypesCollection::getInstance();
$hierarchy = umiHierarchy::getInstance();
$product_basetype_id = $objectTypesCollection->getBaseType( 'catalog', 'object' );
$product_hierarchy_type_id = $objectTypesCollection->getType( $product_basetype_id )->getHierarchyTypeId();
$unactive_product = false;
$unvisible_product = true;
$count = $hierarchy->getChildsCount( $pageId, $unactive_product, $unvisible_product, 0, $product_hierarchy_type_id);
return($count);
}
?>
Затем идём в шаблон, отвечающий за вывод подкатегорий и в блок
$FORMS['menu_line_level1_a'] = <<<END
<div>
<a href="%link%" umi:element-id="%id%" umi:field-name="name">%text%</a>
</div>
%sub_menu%
END;
после
<a href="%link%" umi:element-id="%id%" umi:field-name="name">%text%</a>
добавляем следующий код
%data doSelection('default2', amount, %pid%)%
В нашем случае это шаблон /tpls/content/menu/default.tpl Всё, теперь у нас напротив категорий выводится количество товаров в этой категории.