Выводим количество товаров в категории xslt — различия между версиями
Материал из Umicms
Deez (обсуждение | вклад) (Новая страница: «Если у нас стоит задача вывести количество товаров напротив каждой подкатегории(к пример…») |
Denisov (обсуждение | вклад) |
||
| (не показано 12 промежуточных версий 2 участников) | |||
| Строка 1: | Строка 1: | ||
| − | + | '''Актуально для версии 2.9''' | |
| + | |||
| + | == Задача == | ||
| + | Вывести количество товаров напротив каждой подкатегории(к примеру чтоб напротив DVD плееры стояла цифра 3, то есть кол-во DVD плееров) | ||
| + | |||
| + | == Решение == | ||
Для начала создадим usel запрос вот такого содержания | Для начала создадим usel запрос вот такого содержания | ||
| − | <source | + | <source lang="xml"> |
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<selection> | <selection> | ||
| Строка 10: | Строка 15: | ||
</selection> | </selection> | ||
</source> | </source> | ||
| + | Назовём его 42.xml и положим в паку /usels. | ||
| + | Затем идём в шаблон, отвечающий за вывод подкатегорий и в блок | ||
| + | <source lang="xml"> | ||
| + | <xsl:template match="udata[@method = 'getCategoryList']//item"> | ||
| + | <li umi:element-id="{@id}" umi:region="row"> | ||
| + | <a href="{@link}" umi:field-name="name" umi:delete="delete" umi:empty="&empty-section-name;"> | ||
| + | <xsl:value-of select="." /> | ||
| + | </a> | ||
| + | </li> | ||
| + | </xsl:template> | ||
| + | </source> | ||
| + | после | ||
| + | <source lang="xml"> | ||
| + | <xsl:value-of select="." /> | ||
| + | </source> | ||
| + | добавляем следующий код | ||
| + | <source lang="xml"> | ||
| + | <xsl:value-of select="document(concat('usel://42/', @id))/udata/total" /> | ||
| + | </source> | ||
| + | В нашем случае это шаблон /templates/modern/xslt/modules/catalog/category-list.xsl | ||
| + | Всё, теперь у нас напротив категорий выводится количество товаров в этой категории. | ||
| + | Работа протестирована в версиях 2.8.5.1 и 2.8.5.2 | ||
| + | |||
| + | [[Категория: Верстка в XSLT]][[Категория:Модуль Каталог]] | ||
Текущая версия на 15:25, 31 октября 2019
Актуально для версии 2.9
Задача
Вывести количество товаров напротив каждой подкатегории(к примеру чтоб напротив 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">
<li umi:element-id="{@id}" umi:region="row">
<a href="{@link}" umi:field-name="name" umi:delete="delete" umi:empty="&empty-section-name;">
<xsl:value-of select="." />
</a>
</li>
</xsl:template>
после
<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