我使用了Phalcon和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,包括偶数head标记。
以这种方式扩展模板的正确方法是什么?
发布于 2016-12-31 13:04:24
恐怕你混淆了layout和template的概念。这在phalcon有点不同。
您应该修改https://docs.phalconphp.com/ru/latest/reference/views.html#rendering-levels页面。特别是呈现级别章节来实现您想要的。
https://stackoverflow.com/questions/41394673
复制相似问题