【问题标题】:Twig throws exception on if/else include/extends behaviourTwig 在 if/else include/extends 行为上抛出异常
【发布时间】:2011-10-23 18:52:29
【问题描述】:

有人成功实现了 Twig 代码的这一部分?

{% if request.isXmlHttpRequest %}
    {% include ":Elements:cufor-font-replacement.html.twig" %}
{% else %}
    {% extends "::layout-clean.html.twig" %}
{% endif %}

看不见:

扩展另一个模板的模板不能有正文 (Twig_Node_Include(only: false expr: Twig_Node_Expression_Constant(值: ':Elements:cufor-font-replacement.html.twig') 变量:)) 在 ":Users:create.html.twig" 在第 2 行。

【问题讨论】:

    标签: exception symfony twig


    【解决方案1】:

    不幸的是,在 Twig 中不能有条件地扩展模板。您必须创建另一个扩展“::layout-clean.html.twig”的模板并有条件地包含它。

    【讨论】:

    • 感谢您对此的确认。另一方面,看着这个twig.sensiolabs.org/doc/… 它对我不起作用,因为我会收到请求变量不存在的错误(传递给模板并且 {{ request }} 显示它。下面的代码也不起作用(并且 {{ layout }} 打印 ok {% set layout = request.isXmlHttpRequest ? "::layout-xhr.html.twig" : "::layout-clean.html.twig" %} {% extends layout %}跨度>
    • Request 实例应该可以通过 app.request 访问,但我不确定。
    猜你喜欢
    • 2013-06-13
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    • 1970-01-01
    • 2011-01-06
    • 1970-01-01
    • 2021-10-02
    • 1970-01-01
    相关资源
    最近更新 更多