UMIhelp

Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: dvoynikov от 28 Июля 2015, 21:54:39

Название: как убрать id при выводе menu
Отправлено: dvoynikov от 28 Июля 2015, 21:54:39
Добрый день подскажите пожалуйста как решить данную проблему. Вывожу меню вот таким кодом:
<xsl:apply-templates select="document('udata://content/menu/1/1/68')/udata" mode="vertical_menu_services"/>
<xsl:template match="item" mode="vertical_menu_services">
      <li>
        <a href="{@link}">
         <xsl:value-of select="@name"/>
        </a>
      </li>
   </xsl:template>
и в результате получаю меню вида
"Стратегия дальнейшего развития
Выполнение функций "Службы заказчика"
Авторский надзор по инвестиционному проекту
Ре-концепция
Полное бизнес-планирование
68"
Всё вреде хорошо и верно , но почему то к этому всему добавляется id (68) родительской категории. можете подсказать как эту цифру убрать. Заранее всем благодарен
Название: Re: как убрать id при выводе menu
Отправлено: admin от 29 Июля 2015, 11:49:36
вы пропустили шаблон для udata и сразу же написали шаблон для item, в итоге система пытается вывести хоть как-то другие узлы из udata, что приводит к выводу узла id, помимо этого вы еще и теряете <ul> тег, внутри которого должны выводиться элементы меню.

И если вы загляните в тот xml, который возвращает запрос udata://content/menu/1/1/68, то увидите что кроме item, там как раз есть id

Если говорить об исправлении данного момента просто добавьте шаблон перед шаблоном <xsl:template match="item" mode="vertical_menu_services">...
<xsl:template match="udata" mode="vertical_menu_services">
      <ul>
         <xsl:apply-templates select="items/item" mode="vertical_menu_services"/>
      </ul>
</xsl:template>
Название: Re: как убрать id при выводе menu
Отправлено: dvoynikov от 29 Июля 2015, 12:04:23
Огромное спасибо за помощь