1

继承在伏特模板中不起作用的接缝。

Phalcon 版本是 0.6.1

有一个文件结构:

  • 意见/
    • 指数/
      • 索引.html
    • 布局/
      • main.html
  • 索引.php

索引.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'的模板视图不存在'

4

1 回答 1

3

这是因为应用程序无法main.html在实际路径中找到文件。如果添加完整路径,它可以工作,但是这样做很不方便。

像这样的东西会起作用

{% extends  "../views/layouts/main.html" %}

或者如果您的应用在app

{% extends  "../app/views/layouts/main.html" %}

我相信应该有一种方法可以直接从 Volt 的设置中引用根路径和/或视图路径。那很可能是NFR。

于 2012-11-21T23:52:13.460 回答