UMIhelp

Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: tybys от 20 Сентября 2011, 19:04:06

Название: шаблоны для главной/неглавной
Отправлено: tybys от 20 Сентября 2011, 19:04:06
Доброго времени суток, буду очень признателен если объясните какой способ описания шаблонов для главной и не главной более правильный.
Это ведь чревато для клиента головной болью, который задумает поменять одну из ссылок в меню  ;D

<xsl:template match="page[@alt-name = 'portfolio']">
Название: Re:шаблоны для главной/неглавной
Отправлено: thecoder от 21 Сентября 2011, 09:20:35
Клиент не должен лезть в код :)
Меню у вас что собой представляет?
Меню выводится
<xsl:apply-templates select="document('udata://content/menu/')/udata" />
Шаблон для него, например,  может быть вот таким:
<xsl:template match="udata[@module = 'content'][@method = 'menu']">
        <ul>
            <xsl:apply-templates select="items/item" mode="menu_top" />
        </ul>                                                          
    </xsl:template>
    
    <xsl:template match="item" mode="menu_top">
      <li>
        <span>
            <a href="{@link}">
                <xsl:value-of select="@name"/>
            </a>
        </span>
      </li>
    </xsl:template>
    
    <xsl:template match="item[@status = 'active']" mode="menu_top">
        <li>
            <span class="active">
                <a href="{@link}" class="active">
                    <xsl:value-of select="@name"/>
                </a>
            </span>
        </li>
    </xsl:template>
    
    <xsl:template match="item[position() = last()]" mode="menu_top">
        <li class="last">
            <span>
                <a href="{@link}">
                    <xsl:value-of select="@name"/>
                </a>
            </span>
        </li>
            <span class="advNew">
                <a href="/catalog/advAdd">
                    <xsl:text>&adv_new;</xsl:text>
                </a>
            </span>
    </xsl:template>


Записан он в /content/menu.xsl

В меню попадают страницы которые  есть в модуле Структура и у которых свойство показывать в меню включено.
Соответственно, если кто-то удалит страницу из структуры, то она может исчезнуть из меню, что в свою очередь может повлиять на верстку (ну это у кого как).

Шаблон главной указывается директивой
<xsl:template match="/">
В которой указывается вывод содержимого внутренних страниц:
<xsl:apply-templates select="result"/>

Как-то вот так, если просто.
Советую почитать http://www.umi-cms.ru/support/docs/xslt-umi-devbook/
Название: Re:шаблоны для главной/неглавной
Отправлено: admin от 21 Сентября 2011, 13:16:36
отвечать пока нечего, так как не понятно что именно чревато для клиента если он меняет меню (ведь он меняет меню в админке, а шаблон должен быть настроен таким образом чтобы эти изменения не поломали верстку и логику сайта)

а шаблон
<xsl:template match="page[@alt-name = 'portfolio']">

может по разному применяться в вашем конкретном случае, пока ясно лишь одно, он будет использоваться для оформления узла page с параметром alt-name = portfolio и с меню это пока никак не связанно)