Передача параметров в макрос Twig - PullRequest
0 голосов
/ 13 мая 2019

Я передаю 2 параметра в макрос Twig, но, кажется, передан только один из них

{{currentPage}} //this is outputting the current page e.g. home 


{% macro render_menu(links, currentPage) %}

{% import _self as subnav %}

{% for code, link in links %}

{{currentPage}} //this is NOT outputting the current page

<li class="{{ code == currentPage ? 'active' }} {{ link.sublinks ? 'dropdown' }}">

Мне нужно использовать currentPage для включения пункта меню «активный»

1 Ответ

0 голосов
/ 13 мая 2019

Где вы вызываете макрос? Эта часть кода отсутствует. Заметьте, что макросы имеют свою собственную область видимости, это означает, что они не знают никакой переменной, и вы должны передать их явно

macro.twig

{% macro render_menu(links, currentPage) %}
    {% import _self as subnav %}
    {% for link in links %}
        <li class="{{ link.code == currentPage ? 'active' }} {{ link.sublinks ? 'dropdown' }}">
            <a href="{{ link.code }}">{{ link.code }}</a>
        </li>
    {% endfor %}
{% endmacro %}

main.twig

{% import 'macro.twig' as macro %}

{{ macro.render_menu(links, currentPage) }}

демо

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