继承在压力模板中不起作用。
Phalcon版本为0.6.1
拥有文件结构:
的index.php:
<?php
$di = new Phalcon\DI\FactoryDefault();
$di->set('volt', function ($view, $di){
return new Phalcon\Mvc\View\Engine\Volt($view, $di);
});
$view = new \Phalcon\Mvc\View();
$view->setViewsDir("views/");
$view->registerEngines(array(
".html" => 'volt'
));
$view->setDi($di);
$view->start();
$view->render("index", 'index');
$view->finish();
echo $view->getContent();
视图/索引/ index.html中
{% extends "layouts/main.html" %}
{% block content %}
<h2>Index</h2>
{% endblock %}
视图/布局/ main.html中
<h1>Main</h1>
{% block content %}
Not index
{% endblock %}
当我运行php index.php
时,我得到:
未捕获的异常'Phalcon \ Mvc \ View \ Exception',消息'扩展模板视图'layouts / main.html'不存在'
答案 0 :(得分:3)
这是因为应用程序无法在实际路径中找到文件main.html
。如果添加它的完整路径,但这样做很不方便。
这样的东西会起作用
{% extends "../views/layouts/main.html" %}
或者您的应用位于app
{% extends "../app/views/layouts/main.html" %}
我相信应该有一种方法可以直接从Volt的设置中引用根路径和/或视图路径。这很可能是一个NFR。