您如何将数组传递给twig include? p>
{% set navbar_logo %}["{{sprinkle|raw}}/components/content/navbar/navbar-logo.html.twig", "/components/content/navbar/navbar-logo.html.twig"]{% endset %}
{% include navbar_logo %}
这导致:
Unable to find template "["@admin/components/content/navbar/navbar-logo.html.twig", "/components/content/navbar/navbar-logo.html.twig"]"
这很好用:
{% include ["{{sprinkle|raw}}/components/content/navbar/navbar-logo.html.twig", "/components/content/navbar/navbar-logo.html.twig"] %}
但我需要从变量中获取它。
这也有效:
{% set navbar_logo %}{{sprinkle|raw}}/components/content/navbar/navbar-logo.html.twig{% endset %}
{% include navbar_logo %}
但我需要备份,因为第一个不存在。 我怎么能这样做?
答案 0 :(得分:2)
怎么样:
{% set navbar_logo = include(sprinkle|raw ~ '/components/content/navbar/navbar-logo.html.twig') %}
我并不完全知道您要实现的目标,但更好的方法是将其设置在基本布局的块中。
{% block navbar_logo %}
{{ include(sprinkle|raw ~ '/components/content/navbar/navbar-logo.html.twig') }}
{% endblock %}
然后,当您稍后需要转储徽标时,请使用{{ block('navbar_logo') }}
。
有关blocks
的更多信息答案 1 :(得分:1)
如果你正在使用{% set .. %}... {% endset %}
,Twig会将变量视为字符串
您应该将代码切换为此代码,然后才能正常工作
{% set navbar_logo = [ sprinkle~"/components/content/navbar/navbar-logo.html.twig", "/components/content/navbar/navbar-logo.html.twig"] %}