Я просто отчаянно нуждаюсь в области переменных веток.
У меня есть несколько мест, где я устанавливаю 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-адреса я не могу создать функцию ветки.
Есть ли способ решить эту проблему?