【发布时间】:2016-12-30 10:29:36
【问题描述】:
我使用 Phalcon PHP 和 Volt 模板引擎,但我遇到了模板扩展问题。这就是我想要做的:
基础模板:
// index.volt
<!DOCTYPE html>
<head> [...] </head>
<body>
<div>
[...]
<div class="row">
<div class="col-sm-2"> {% block leftBlock %}{% endblock %} </div>
<div class="col-sm-8">
{% block content %} {{ content() }} {% endblock %}
</div>
<div class="col-sm-2"> {% block rightBlock %}{% endblock %} </div>
</div>
</div>
[...]
然后是控制器的模板:
// layouts/controller.volt
{% block leftBlock %}
{{ partial("menus/fooMenu") }}
{% endblock %}
{% block content %}
{{ content() }}
{% endblock %}
我想用菜单替换 leftBlock 中的内容,但是当我这样做时,我在内容块中得到了菜单。我知道这是因为使用 content() 方法,但我找不到另一种使用模板的方法。
当我将 {% extends "index.volt" %} 放在 controller.volt 的开头时,我在控制器视图中得到了 index.volt 的整个内容,包括头部标签。
以这种方式扩展模板的正确方法是什么?
【问题讨论】:
标签: php phalcon templating volt