我正在使用Twig和Silex,并且在if语句中遇到一些问题。基本上该页面甚至被扩展,请求不是由AJAX完成的。
{% if app.request.isXmlHttpRequest == false %}
{% extends 'layout.html.twig' %}
{% endif %}
然而这有效。仅当请求是基于AJAX的时候才会显示该按钮。
{% if app.request.isXmlHttpRequest %}
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
{% endif %}
另外值得一提的是,我的代码包含在{%block content%}标记中。
有没有人有过这个问题的经验? (只有当isXmlHttpRequest为false时才能扩展)
提前致谢
答案 0 :(得分:7)
试试这个:
{% extends app.request.isxmlhttprequest ? "" : "layout.html.twig" %}
在courtains extends
后面是一个解析的标记,不能在它周围放置任何条件,结果将是你得到的:你的模板总是被扩展。
我不确定它是如何处理空字符串的,你可能需要创建一个“layout-ajax.html.twig”文件,其中没有内容,只有你要覆盖的块。