【发布时间】:2014-04-29 18:47:43
【问题描述】:
我想在 Volt 视图上检测,如果使用 ajax 请求,从其他模板扩展,这可能吗?
{% extends request.ajax ? "base_ajax.html" : "base.html" %}
谢谢你的帮助... :)
【问题讨论】:
标签: twig template-engine phalcon volt
我想在 Volt 视图上检测,如果使用 ajax 请求,从其他模板扩展,这可能吗?
{% extends request.ajax ? "base_ajax.html" : "base.html" %}
谢谢你的帮助... :)
【问题讨论】:
标签: twig template-engine phalcon volt
更接近的解决方案是使用局部,会改变渲染视图的逻辑,但这是实现它的唯一方法......
{{ request.isAjax()?partial("base/base-ajax") :partial("base/base-default") }}
感谢您的帮助! :)
【讨论】:
是的,DI container 中的所有内容都可以在 Volt 模板 (source) 中使用。 request service 默认在您的 DI 中,也可以在 Volt 中使用:
{% set baseFile = request.isAjax() ? "base_ajax.volt" : "base.volt" %}
{% extends baseFile %}
您可以查看this list 以查看 DI 容器中默认可用的所有服务。
【讨论】:
extends 似乎不支持字符串变量。