Twig变量范围包括宏

时间:2019-03-08 16:59:06

标签: symfony twig

我只是急切想要树枝变量范围。

我在几个地方设置了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,我无法创建树枝函数。

有没有办法解决这个问题?

0 个答案:

没有答案