Вывод количества объектов в категории TPL

Материал из Umicms
Версия от 12:57, 25 мая 2014; Alexei (обсуждение | вклад) (Новая страница: «'''Актуально для версии 2.9.6''' Задача - вывести количество товаров напротив каждой подкатег…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

Актуально для версии 2.9.6

Задача - вывести количество товаров напротив каждой подкатегории(к примеру чтоб напротив категории аксессуары стояла цифра 3, то есть количество аксессуаров) Для начала создадим usel запрос вот такого содержания

<?xml version="1.0" encoding="UTF-8"?>
<selection>
<target result="pages">
  <type module="catalog" method="object" />
  <category depth="2">{1}</category>
</target>
</selection>

Назовём его amount.xml и положим в паку /usels.

Теперь добавим шаблон выборки usel, т.е. добавим файл default2.xml в папку tpls/data/usel/ с содержанием

<?php

$FORMS = Array();

$FORMS['elements_block'] = <<<END
%total%
END;

?>

Затем идём в шаблон, отвечающий за вывод подкатегорий и в блок

$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 Всё, теперь у нас напротив категорий выводится количество товаров в этой категории.