Вывод количества объектов в категории TPL — различия между версиями
Материал из Umicms
Alexei (обсуждение | вклад) |
Alexei (обсуждение | вклад) |
||
Строка 41: | Строка 41: | ||
добавляем следующий код | добавляем следующий код | ||
<source lang="php"> | <source lang="php"> | ||
− | % | + | %custom productsCount(%pid%)% |
</source> | </source> | ||
Версия 10:40, 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>
добавляем следующий код
%custom productsCount(%pid%)%
В нашем случае это шаблон /tpls/content/menu/default.tpl Всё, теперь у нас напротив категорий выводится количество товаров в этой категории.