Пример использования поля "ссылка на дерево" — различия между версиями
SerjK (обсуждение | вклад) (Новая страница: «'''Задача:''' на сайте, требуется реализовать, чтобы при просмотре объекта каталога пользова…») |
Mad grant (обсуждение | вклад) |
||
(не показаны 3 промежуточные версии 1 участника) | |||
Строка 3: | Строка 3: | ||
аксессуар, или "Похожий товар" и ссылка, и т.д. | аксессуар, или "Похожий товар" и ссылка, и т.д. | ||
− | '''Решение:''' Заходим в модуль "Шаблоны данных". Выбираем на редактирование "Объект каталога", добавляем новое поле, ставим галочку "Видимое" и выбираем тип поля "Ссылка на дерево". Теперь при добавлении или редактировании объекта каталога мы можем увидеть, что у него появилось добавленное поле, при клике на которое, система UMI.CMS предлагает выбрать куда будет вести ссылка с данного поля | + | '''Решение:''' Заходим в модуль "Шаблоны данных". Выбираем на редактирование "Объект каталога", добавляем новое поле (например с идентификатором property-recommended) , ставим галочку "Видимое" и выбираем тип поля "Ссылка на дерево". Теперь при добавлении или редактировании объекта каталога мы можем увидеть, что у него появилось добавленное поле, при клике на которое, система UMI.CMS предлагает выбрать куда будет вести ссылка с данного поля |
− | 1. | + | 1.При использовании xslt-шаблонизатора, необходимо написать шаблон обработчик, сохраниме его под именем recommended.xsl, выгледеть он будет так: |
+ | <source lang="xml"> | ||
+ | <?xml version="1.0" encoding="utf-8"?> | ||
+ | |||
+ | <xsl:stylesheet version="1.0" | ||
+ | xmlns:xsl="http://www.w3.org/1999/XSL/Transform" | ||
+ | xmlns:umi="http://www.umi-cms.ru/TR/umi"> | ||
+ | |||
+ | <xsl:template match="property[@name = '&property-recommended;'][count(value/page) > 0]" /> | ||
+ | |||
+ | <xsl:template match="property[@name = '&property-recommended;']"> | ||
+ | <hr /> | ||
+ | <h4> | ||
+ | <xsl:text>C этим товаром обычно покупают:</xsl:text> | ||
+ | </h4> | ||
+ | |||
+ | <xsl:apply-templates select="value/page" mode="short-view"> | ||
+ | <xsl:with-param name="cart_items" select="document('udata://emarket/cart/')/udata/items" /> | ||
+ | </xsl:apply-templates> | ||
+ | |||
+ | </xsl:template> | ||
+ | </xsl:stylesheet> | ||
+ | </source> | ||
+ | |||
+ | 2. В главном шаблоне каталога подключаем, ранее созданный шаблон-обработчик | ||
+ | <xsl:include href="recommended.xsl" /> | ||
+ | |||
+ | 3. Далее в зависимости от того, где мы хотим увидеть наше поле, выводим это поле средствами xslt | ||
+ | |||
+ | <xsl:apply-templates select=".//property[@name = '&property-recommended;']" />, | ||
+ | например, если хотим чтобы поле показывалось при детальном просмотре объекта каталога, то такую запись нужно добавить в | ||
+ | |||
+ | <xsl:template match="/result[@module = 'catalog' and @method = 'object']"> | ||
+ | |||
+ | [[Категория:Верстка в XSLT]] |
Текущая версия на 20:29, 4 июня 2013
Задача: на сайте, требуется реализовать, чтобы при просмотре объекта каталога пользователь под описанием товара и его характеристик видел: "С этим товаром обычно покупают" и ссылка на аксессуар, или "Похожий товар" и ссылка, и т.д.
Решение: Заходим в модуль "Шаблоны данных". Выбираем на редактирование "Объект каталога", добавляем новое поле (например с идентификатором property-recommended) , ставим галочку "Видимое" и выбираем тип поля "Ссылка на дерево". Теперь при добавлении или редактировании объекта каталога мы можем увидеть, что у него появилось добавленное поле, при клике на которое, система UMI.CMS предлагает выбрать куда будет вести ссылка с данного поля
1.При использовании xslt-шаблонизатора, необходимо написать шаблон обработчик, сохраниме его под именем recommended.xsl, выгледеть он будет так:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:umi="http://www.umi-cms.ru/TR/umi">
<xsl:template match="property[@name = '&property-recommended;'][count(value/page) > 0]" />
<xsl:template match="property[@name = '&property-recommended;']">
<hr />
<h4>
<xsl:text>C этим товаром обычно покупают:</xsl:text>
</h4>
<xsl:apply-templates select="value/page" mode="short-view">
<xsl:with-param name="cart_items" select="document('udata://emarket/cart/')/udata/items" />
</xsl:apply-templates>
</xsl:template>
</xsl:stylesheet>
2. В главном шаблоне каталога подключаем, ранее созданный шаблон-обработчик <xsl:include href="recommended.xsl" />
3. Далее в зависимости от того, где мы хотим увидеть наше поле, выводим это поле средствами xslt
<xsl:apply-templates select=".//property[@name = '&property-recommended;']" />, например, если хотим чтобы поле показывалось при детальном просмотре объекта каталога, то такую запись нужно добавить в
<xsl:template match="/result[@module = 'catalog' and @method = 'object']">