Рейтинг:0

Получить класс на item.below (дочерний пункт меню) внутри

флаг ru

Привет, я не могу вставить класс в дочерний элемент главного меню и удалить существующий. Часть моего кода выглядит так:

{% для элемента в элементах %}
  {%
    установить item_classes = [
    'элемент меню',
    item.is_expanded ? 'падать',
    item.is_collapsed ? '',
    item.in_active_trail ? 'активен',
  ]
  %}
  <li{{ item.attributes.addClass(item_classes) }}>

    {%
      установить link_classes = [
      'навигационная ссылка',
      item.in_active_trail ? '',
    ]
      %}

    {{ ссылка(item.title, item.url, attribute.addClass(link_classes)) }}
    {% если элемент.ниже %}
      {{ menus.menu_links(item.below, attribute.removeClass('nav-link'), menu_level + 1) }}
    {% конец%}
  </li> 

Итак, все теги li возвращаются:

<li class="menu-item-edot">

Но мне нужно, чтобы только верхние элементы меню возвращали верхний код, а все остальные дочерние элементы меню возвращались:

<li class="dropdown-item">

Я не нашел способа удалить класс «элемент меню-edot» и добавить «выпадающий элемент» в дочерние элементы меню.

Пожалуйста помоги

sonfd avatar
флаг in
Используйте переменную `menu_level`, чтобы определить уровень и установить нужные классы.
Рейтинг:0
флаг ru

Спасибо сонфд это мой код сейчас, и он работает!

{% для элемента в элементах %}

  {% если menu_level == 0 %}

    {%
      установить item_classes = [
      'элемент меню',
      item.is_expanded ? 'падать',
      item.is_collapsed ? '',
      item.in_active_trail ? 'активен',
    ]
    %}

    <li{{ item.attributes.addClass(item_classes) }}>

    {% elseif menu_level == 1 %}

      {%
        установить item_classes = [
        'выпадающий элемент',
        item.is_expanded ? 'падать',
        item.is_collapsed ? '',
        item.in_active_trail ? 'активен',
      ]
      %}

      <li{{ item.attributes.addClass(item_classes) }}>
  {% конец%}
    {%
      установить link_classes = [
      'навигационная ссылка',
      item.in_active_trail ? '',
    ]
      %}

    {{ ссылка(item.title, item.url, attribute.addClass(link_classes)) }}
    {% если элемент.ниже %}

      {{ menus.menu_links(item.below, attribute.removeClass('nav-link'), menu_level + 1) }}

    {% конец%}
  </li>

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.