Выводим количество товаров в категории xslt — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
Строка 11: Строка 11:
 
</source>
 
</source>
 
Назовём его 42.xml и положим в паку /usels.
 
Назовём его 42.xml и положим в паку /usels.
Затем идём в шаблон, отвечающий за вывод подкатегорий и добавляем туда следующий код
+
Затем идём в шаблон, отвечающий за вывод подкатегорий и внутрь
 +
<source lang="xml">
 +
<xsl:template match="udata[@method = 'getCategoryList']//item">
 +
</source>
 +
после
 +
<source lang="xml">
 +
<xsl:value-of select="." />
 +
</source>
 +
добавляем следующий код
 
<source lang="xml">
 
<source lang="xml">
 
<xsl:value-of select="document(concat('usel://42/', @id))/udata/total" />
 
<xsl:value-of select="document(concat('usel://42/', @id))/udata/total" />

Версия 16:07, 31 июля 2012

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

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

Назовём его 42.xml и положим в паку /usels. Затем идём в шаблон, отвечающий за вывод подкатегорий и внутрь

<xsl:template match="udata[@method = 'getCategoryList']//item">

после

<xsl:value-of select="." />

добавляем следующий код

<xsl:value-of select="document(concat('usel://42/', @id))/udata/total" />

В нашем случае это шаблон /templates/modern/xslt/modules/catalog/category-list.xsl Всё, теперь у нас напротив категорий выводится количество товаров в этой категории. Работа протестирована в версиях 2.8.5.1 и 2.8.5.2