Как я могу установить активный класс для навигации со вторым уровнем в ремесленных cms с помощью ветки? - PullRequest
0 голосов
/ 06 июля 2019

Как я могу установить активный класс для навигации, которая имеет элементы второго уровня / родственные страницы?

Глядя на ответы здесь https://craftcms.stackexchange.com/questions/554/how-can-i-add-a-dynamic-active-css-class-to-the-navigation-on-any-given-page

и https://startingcraft.com/articles/active-menu-links-in-craftcms

Я получаю несколько ошибок Макрос не определен Когда я устанавливаю использование {% set macro is__active, я получаю "Неожиданный токен" name "со значением" is_active ""

Ниже моя веточка - как вы можете видеть, эти ссылки будут динамическими.

Не могли бы вы также объяснить свой ответ и что я не получаю: -)

{% macro is_active(segment) %}
{% if craft.app.request.segments | first == segment %}active{% endif %}
{% endmacro %}

<div class="side-navigation">
    {% set parent = entry.getParent() %}
    {% if parent %}
        <h6 class="side-navigation__heading">{{parent}}</h6>
        {% set siblings = parent.getDescendants(1) ??? null %}
        {% if siblings|length %}
            <nav class="side-navigation__list">
            {% for item in siblings %}
                <li class="side-navigation__item">
                    <a class="side-navigation__link {{ macros.is_active('item.slug') }}" href="{{ item.url }}">{{ item.title }}</a>
                </li>
            {% endfor %}
        </nav>
        {% endif %}
    {% endif %}
</div>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...