Как вывести все товары выбранного раздела каталога вне зависимости от вложенности XSLT — различия между версиями
Материал из Umicms
Строка 6: | Строка 6: | ||
:<1уровень><> | :<1уровень><> | ||
::<2уровень><> | ::<2уровень><> | ||
− | + | :::<товар><> | |
− | + | :::<товар><> | |
− | + | :::<товар><> | |
− | |||
</каталог> | </каталог> | ||
− | :При использовании стандартных макросов на 2 | + | :При использовании стандартных макросов на странице 2 уровня вложенности никакой информации выводится не будет, что не очень красиво и может сбить пользователя с толку, туда ли он двигается. |
:Для вывода товаров рекурсивно(то есть по всем уровням вложенности начиная с выбранного раздела) мы создадим отдельный шаблон вывода товаров в зависимости от уровня вложенности и выбранного раздела. В папке \templates\demodizzy\xslt\modules\catalog\ создадим файл category-menu-view.xsl и скопируем туда содержимое файла category-view.xsl | :Для вывода товаров рекурсивно(то есть по всем уровням вложенности начиная с выбранного раздела) мы создадим отдельный шаблон вывода товаров в зависимости от уровня вложенности и выбранного раздела. В папке \templates\demodizzy\xslt\modules\catalog\ создадим файл category-menu-view.xsl и скопируем туда содержимое файла category-view.xsl | ||
:Теперь изменим часть | :Теперь изменим часть |
Версия 08:08, 25 июня 2013
СТАТЬЯ В СТАДИИ РЕДАКТИРОВАНИЯ Актуально для версии 2.9
- Иногда у каталога появляется больше одного уровня вложенности и тогда на страницах промежуточных разделов никакие товары не выводятся, потому как они находятся на уровень ниже. Например есть каталог с 3 уровнями вложенности:
<каталог>
- <1уровень><>
- <2уровень><>
- <товар><>
- <товар><>
- <товар><>
- <2уровень><>
</каталог>
- При использовании стандартных макросов на странице 2 уровня вложенности никакой информации выводится не будет, что не очень красиво и может сбить пользователя с толку, туда ли он двигается.
- Для вывода товаров рекурсивно(то есть по всем уровням вложенности начиная с выбранного раздела) мы создадим отдельный шаблон вывода товаров в зависимости от уровня вложенности и выбранного раздела. В папке \templates\demodizzy\xslt\modules\catalog\ создадим файл category-menu-view.xsl и скопируем туда содержимое файла category-view.xsl
- Теперь изменим часть
<xsl:template match="/result[@method = 'category'][count(/result/parents/page) = 1]">
<xsl:apply-templates select="document(concat('udata://catalog/getObjectsList/', page/@id, '////2/'))/udata" />
</xsl:template>
<xsl:template match="/result[@method = 'category'][count(/result/parents/page) = 2][@pageId='342']">
<xsl:apply-templates select="document('udata://catalog/getObjectsList/notemplate/342///5/')" />
</xsl:template>
<xsl:template match="/result[@method = 'category'][count(/result/parents/page) = 3]">
<xsl:apply-templates select="document(concat('udata://catalog/getObjectsList/', page/@id, '////2/'))/udata" />
</xsl:template>