Сфера переменной Twig включает в себя, макрос - PullRequest
0 голосов
/ 08 марта 2019

Я просто отчаянно нуждаюсь в области переменных веток.

У меня есть несколько мест, где я устанавливаю URL и цель, и, поскольку это всегда происходит в одной и той же схеме, я хотел передать эту логику на аутсорсинг:

{% set externalKey = itemType ~ "ButtonLinkExternal" %}
{% set internalKey = itemType ~ "ButtonLink" %}

{% if item[externalKey] is not empty %}
    {% set buttonUrl = item[externalKey] %}
    {% set buttonTarget = 'target=_blank' %}
{% elseif item[internalKey] %}
    {% set buttonUrl = "/" ~ app.request.locale ~ sulu_content_load(item[internalKey]).content.url %}
    {% set buttonTarget = 'target=_self' %}
{% endif %}

Это один из способов, я попытался включить его:

{% include ':templates/modules/partials:buttonUrl.html.twig' with {'item': snippet.content.boxes.0, 'itemType': 'box'} %}

Я также попробовал это с макросом, который также имел такое же поведение.

Более того, я установил переменную перед включением шаблона, чтобы выйти из области действия включенного файла.

Поскольку я использую другую функцию ветки, для загрузки внутреннего URL-адреса я не могу создать функцию ветки.

Есть ли способ решить эту проблему?

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