UMIhelp

Разработка сайта на UMI.CMS => Настройка системы и модулей => Тема начата: Exorcist от 24 Ноября 2011, 08:12:35

Название: Шаблоны для разныех категорий
Отправлено: Exorcist от 24 Ноября 2011, 08:12:35
Хочу сделать отдельный шаблон для определённый категории.
Как сделать условие в xsltTpls ?
Название: Re:Шаблоны для разныех категорий
Отправлено: admin от 24 Ноября 2011, 11:11:01
если мы говорим о демо сайте "магазин техники - demodizzy", то идем в файл /xsltTpls/modules/catalog/category-view.xsl и после шаблонов предназначенных для /result[@method = 'category'] добавляем еще один шаблон вида

<xsl:template match="/result[@method = 'category' and  /result/@pageId= 23]">
мой новый спец раздел
</xsl:template>
где 23 - это id нужного вам раздела, конечно вы можете привязывать условие шаблоне не только к шв, а к типу данных или к alt-name или еще к какой переменной которую можно вытянуть из данной страницы если просмотреть её в формате .xml
Название: Re:Шаблоны для разныех категорий
Отправлено: Exorcist от 24 Ноября 2011, 15:07:40
Ну я хочу ко всем товаром что принадлежат одной категории, у них общий получается parentId
но
<xsl:template match="/result[@method = 'category' and  /result/@parantId= 23]">
мой новый спец раздел
</xsl:template>
у меня не прокатил
Название: Re:Шаблоны для разныех категорий
Отправлено: admin от 24 Ноября 2011, 15:22:42
у узла result нет атрибута parentId? такой атрибут есть у узла page
<?xml version="1.0" encoding="utf-8" ?>
<result
    module="content"
    method="content"
    domain="www.somedomain.com"
    lang="ru"
    header="Нет страницы для отображения"
    title="Заголовок моей страницы (TITLE)"
    request-uri="/mypage/?xmlMode=force"
    pageId="23052">
    <meta>
        <keywords>Ключевые слова моей страницы</keywords>
        <description>Описание моей страницы</description>
    </meta>
    <user id="14" status="auth" login="username" />
    <parents />
    <page
        id="23052"
        parentId="0"
        link="/mypage/"
        is-visible="1"
        object-id="27089"
        type-id="10">
        <name>Моя страница</name>
        <properties>
           ...
        </properties>
    </page>
</result>

в итоге нужно писать так
<xsl:template match="/result[@method = 'category' and  /result/page/@parentId= 23]">
мой новый спец раздел
</xsl:template>
Название: Re:Шаблоны для разныех категорий
Отправлено: Exorcist от 25 Ноября 2011, 02:29:22
Да я разобрался. спасибо.
<xsl:template match="result[@module='catalog'][@method='object'][/result/page/@parentId= 84 ]">
<xsl:apply-templates select="document(concat('upage://', page/@id,'?show-empty'))/udata" mode="leather-view" />
</xsl:template>