Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Шаблон отображения списка категорий (магазин "Современный")

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

Ответов: 2
Просмотров: 1781
Последний ответ 03 Июль 2012, 15:22:23
от manadsgn
Вывод списка вложенных галерей по типу альбома с фото

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

Ответов: 25
Просмотров: 15630
Последний ответ 14 Июль 2014, 17:06:30
от admin
вывод рекомендованных товаров не через выбор из списка (XSLT)

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

Ответов: 22
Просмотров: 7889
Последний ответ 21 Май 2012, 13:27:35
от shoto
Вывод значений выпадающего списка в виде ссылок в фильтрах

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

Ответов: 5
Просмотров: 2181
Последний ответ 19 Август 2014, 09:41:16
от iankolotov
Постраничный вывод списка заказов залогиненного пользователя

Автор cergey251Раздел Макросы UMI.CMS

Ответов: 4
Просмотров: 2393
Последний ответ 29 Декабрь 2011, 13:32:48
от cergey251

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

*

idu.kuru

  • *
  • 16
  • +1/-0
    • Просмотр профиля
Делаю выпадающее меню на основе решения из wiki http://wiki.umisoft.ru/%D0%92%D1%8B%D0%BF%D0%B0%D0%B4%D0%B0%D1%8E%D1%89%D0%B5%D0%B5_%D0%BC%D0%B5%D0%BD%D1%8E_%D0%BD%D0%B0_xslt

нужно добавить ссылке из списка первого уровня класс "top-link" и если список имеет вложенные списки то добавить класс "parent" к элементу списка

с первой задачей я как то справился добавив проверку значения переменной level
<li class="menu-item">
           
            <a id="{$level}" href="{@link}">
                <xsl:if test="($level) =1">
                    <xsl:attribute name="class">top-link</xsl:attribute>
                </xsl:if>
                <xsl:value-of select="@name" disable-output-escaping="yes" />


            </a>
            <xsl:apply-templates select="items" mode="multilevel_menu">
                <xsl:with-param name="id" select="@id" />
                <xsl:with-param name="level" select="$level" />
            </xsl:apply-templates>
        </li>

Как проверить список на наличие дочерних элементов ума не приложу.

Кроме того когда через xsl:attribute присваиваю классу какое то значение то перезаписывается текущее. Как этого избежать?

на выходе хочу получить такую структуру
<ul>
    <li class="menu-item parent">
        <a class="top-link">
           
        </a>
        <ul>
            <li class="menu-item">
                <a></a>
            </li>
        </ul>
    </li>
    <li class="menu-item"></li>
    <li class="menu-item"></li>
</ul>

*

admin

  • *****
  • 2443
  • +172/-1
    • Просмотр профиля
Re:проверка наличия дочерних элементов списка
« Ответ #1 : 04 Октябрь 2014, 12:50:09 »
Как проверить список на наличие дочерних элементов ума не приложу.
при переборе конкретного item, можно сделать так

<xsl:if test="items/item">
        <xsl:attribute name="class">parents</xsl:attribute>
</xsl:if>

,но так как у вас 2 проверки, удобнее будет сделать так
<xsl:attribute name="class">
      <xsl:if test="items/item">parents</xsl:if>
      <xsl:if test="($level) =1">top-link</xsl:if>
</xsl:attribute>

*

idu.kuru

  • *
  • 16
  • +1/-0
    • Просмотр профиля
Re:проверка наличия дочерних элементов спи
« Ответ #2 : 06 Октябрь 2014, 18:24:44 »
Спасибо работает!!!

Только текущий класс который стоял в элементе до проверки эта проверка перезаписывает. Можно как то сделать что бы новый класс добавлялся к текущим?

PS если проверка отрицательная то текущий класс вообще удаляется((
« Последнее редактирование: 06 Октябрь 2014, 18:26:48 от idu.kuru »

*

admin

  • *****
  • 2443
  • +172/-1
    • Просмотр профиля
Re:проверка наличия дочерних элементов списка
« Ответ #3 : 07 Октябрь 2014, 01:01:32 »
Спасибо работает!!!

Только текущий класс который стоял в элементе до проверки эта проверка перезаписывает. Можно как то сделать что бы новый класс добавлялся к текущим?

PS если проверка отрицательная то текущий класс вообще удаляется((
потому как конструкция
 <xsl:attribute name="class">parents</xsl:attribute>
не добавляет, а перезаписывает

*

idu.kuru

  • *
  • 16
  • +1/-0
    • Просмотр профиля
Re:проверка наличия дочерних элементов списка
« Ответ #4 : 07 Октябрь 2014, 09:19:38 »
Ладно проще стили немного изменить, чем дополнительные конструкции в xslt делать - быстрее работать будет.