Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Не выводится дополнительное меню в версии "Start"

Автор BabajkaРаздел Шаблоны XSLT

Ответов: 4
Просмотров: 4636
Последний ответ 10 Января 2013, 10:08:04
от admin
Магазин "Современный" - добавление заголовка к левому меню каталога

Автор manadsgnРаздел Шаблоны XSLT

Ответов: 4
Просмотров: 6209
Последний ответ 25 Июня 2012, 17:33:00
от manadsgn
Текущая страница - добавление класса к ссылке главного меню

Автор manadsgnРаздел Шаблоны XSLT

Ответов: 2
Просмотров: 4077
Последний ответ 24 Июня 2012, 14:00:10
от manadsgn
Вывод в меню только разделов с определенными свойствами

Автор poloРаздел Шаблоны XSLT

Ответов: 4
Просмотров: 6545
Последний ответ 24 Июня 2011, 12:58:58
от polo
НАстройка системных параметров при импорте из 1С (меню, поиск и т.п.)

Автор atachРаздел Custom макросы

Ответов: 3
Просмотров: 3945
Последний ответ 16 Ноября 2012, 16:18:48
от admin

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

*

creation.vis

  • *
  • 2
  • +0/-0
    • Просмотр профиля
Шаблон USel для вывода меню.
« : 16 Февраля 2012, 10:20:46 »
Здравствуйте, столкнулся со следующей проблемой, в шаблоне обработки запросов XSLT прописываю следующий код:

<xsl:template match="udata" mode="menu-usel-1">
   <ul>
     <xsl:apply-templates select="page" mode="menu-usel-1"/>
   </ul>
 </xsl:template>

 <xsl:template match="page" mode="menu-usel-1">
  <li>
    <a href="{@link}">
      <xsl:value-of select="name" />
    </a>
  </li>
 </xsl:template>

<xsl:template match="page[@is-active='1']" mode="menu-usel-1">
  <li>
    <a href="{@link}">
      <xsl:value-of select="name" />
    </a>
  </li>
 </xsl:template>

В итоге все страницы выбранные по заданным параметрам из базы данных по протоколу USel отображаются как активные (@is-active='1'). Насколько понял именно этот атрибут тега page отвечает за текущую страницу.

*

BaceH

  • ***
  • 141
  • +21/-0
    • Просмотр профиля
Re:Шаблон USel для вывода меню.
« Ответ #1 : 16 Февраля 2012, 11:57:41 »
у вас два одинаковых шаблона
добавте
<xsl:template match="page[@is-active='1']" mode="menu-usel-1">
  <li>
    <a href="{@link}" class="active">
      <xsl:value-of select="name" />
    </a>
  </li>
 </xsl:template>
стили пропишите для class="active"

или же
<xsl:template match="page[@is-active='1']" mode="menu-usel-1">
  <li>
          <xsl:value-of select="name" />
  </li>
 </xsl:template>
убрать ссылку из активного меню
« Последнее редактирование: 16 Февраля 2012, 11:59:42 от BaceH »

*

creation.vis

  • *
  • 2
  • +0/-0
    • Просмотр профиля
Re:Шаблон USel для вывода меню.
« Ответ #2 : 16 Февраля 2012, 20:43:16 »
Sorry, опечатка вышла.
Дело в том что шаблон для активного и неактивных пунктов меню изначально отличался по параметру class="active" стили для которого были прописаны. При таком условии, все страницы выбранные по заданным параметрам из базы данных по протоколу USel отображаются как активные (@is-active='1'). Попытка прописать @is-active='0' для неактивных страниц также ничего не дает.

Выборки по протоколу udata/content /menu по заданной методике проходят на ура, ну что то вроде:

<xsl:template match="item" mode="menu">
    <li>
      <a href="{@link}">
        <xsl:value-of select="@name"/>
      </a>
    </li>
  </xsl:template>

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

а вот с USel никак.
« Последнее редактирование: 16 Февраля 2012, 20:58:07 от creation.vis »

*

BaceH

  • ***
  • 141
  • +21/-0
    • Просмотр профиля
Re:Шаблон USel для вывода меню.
« Ответ #3 : 17 Февраля 2012, 09:08:56 »
покажите USel и шаблоны обработки

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Шаблон USel для вывода меню.
« Ответ #4 : 21 Февраля 2012, 21:03:13 »
@is-active - по моему, есть только в xml, который возвращает макрос вывода меню, но не usel запрос, он вроде как никогда не проверял является ли какая-нибудь страница текущей(активной)