【问题标题】:Volt - templates extendingVolt - 模板扩展
【发布时间】: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


    【解决方案1】:

    恐怕你混淆了layouttemplate 的概念。这在 phalcon 中略有不同。

    您应该修改https://docs.phalconphp.com/ru/latest/reference/views.html#rendering-levels 页面。尤其是渲染关卡章节来实现你想要的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-24
      • 2016-01-29
      • 2010-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多