Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”

0 Пользователей и 1 Гость просматривают эту тему.

*

manadsgn

  • *
  • 30
  • +0/-0
    • Просмотр профиля
Здравствуйте.
Чтобы добавить ссылку на страницу сайта в главное меню, нужно всего лишь поставить отметку "отображать в меню" в дополнительных параметрах страницы. Но что делать, если мне в это меню нужно добавить верхние уровни каталога? Галочки в доп. параметрах не помогают..

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Отобразить верхние разделы каталога в top-menu
« Ответ #1 : 13 Сентября 2012, 21:45:53 »
загляните сюда http://umihelp.ru/articles/usel-multilevel-menu/ если я правильно понял с чем у вас проблема, то это и будет решением

*

manadsgn

  • *
  • 30
  • +0/-0
    • Просмотр профиля
Re:Отобразить верхние разделы каталога в top-menu
« Ответ #2 : 13 Сентября 2012, 23:31:20 »
Спасибо, это то, что нужно!

*

manadsgn

  • *
  • 30
  • +0/-0
    • Просмотр профиля
Re:Отобразить верхние разделы каталога в top-menu
« Ответ #3 : 14 Сентября 2012, 12:33:46 »
Все получилось, но не работает код, который  названию текущей страницы присваивает класс, не пойму, почему.

    <!-- New menu -->
    <xsl:template match="udata" mode="new_menu" />       
    <xsl:template match="udata[page]" mode="new_menu">
        <div id="top_menu" umi:element-id="0" umi:module="content" umi:region="list" umi:sortable="sortable" umi:add-method="popup">
            <xsl:apply-templates select="page" mode="new_menu" />
            <xsl:call-template name="search-form-left-column" />
        </div>
    </xsl:template>
     
    <xsl:template match="page" mode="new_menu">
        <a href="{@link}"><xsl:value-of select="name" /></a>
    </xsl:template>
   
    <xsl:template match="page[@status = 'active']" mode="new_menu">
        <a href="{@link}" class="act"><xsl:value-of select="name" /></a>
    </xsl:template>

*

BaceH

  • ***
  • 141
  • +21/-0
    • Просмотр профиля

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Отобразить верхние разделы каталога в top-menu
« Ответ #5 : 21 Сентября 2012, 21:01:56 »
Цитировать
<xsl:template match="page[@status = 'active']" mode="new_menu">
        <a href="{@link}" class="act"><xsl:value-of select="name" /></a>
    </xsl:template>

у usel не бывает статуса active его лучше делать проверкой на то не является ли id данной страницы равен id текущей страницы или не равен ли id страницы id одной из родительских страниц

пример первого случая

вместо

<xsl:template match="page" mode="new_menu">
        <a href="{@link}"><xsl:value-of select="name" /></a>
    </xsl:template>
   
    <xsl:template match="page[@status = 'active']" mode="new_menu">
        <a href="{@link}" class="act"><xsl:value-of select="name" /></a>
    </xsl:template>

делаем

<xsl:template match="page" mode="new_menu">
    <a href="{@link}">
<xsl:if test="@id=$document-page-id"><xsl:attribute name="class">act</xsl:attribute></xsl:if>
<xsl:value-of select="name" />
</a>
</xsl:template>