行。我使用 Twig 作为视图引擎,Phalcon 版本是 0.8
我从这个存储库得到的适配器代码:github我对这段代码做了一个小修改,因为我通过composer包含了Twig。我不会描述这些修改,因为它们并不重要。
所以。我的view目录结构很简单:
app
- views
--- index.twig
--- about
---- index.twig
视图来源/index.twig:
<html>
<head>
<title>Phalcon PHP Framework</title>
</head>
<body>
{% block content 'This is main page' %}
</body>
</html>
和意见来源/about/index.twig:
{% extends "index.twig" %}
{% block content %}
This is About page
{% endblock %}
另外,我有控制器关于(AboutController.php)的单一方法
public function indexAction()
它是空的。
行。现在。当我请求页面 /about 时,我希望看到这样的内容:
This is About page
但我仍然看到views/index.twig的内容:
This is main page
这对我来说有点奇怪。我重新分配块“内容”!
我在模板视图/about/index.twig 中做了一些检查,从块中添加了额外的字符,我收到了来自 Twig 的错误:
A template that extends another one cannot have a body in "about/index.twig"
所以。有任何想法吗?
PS 我想我应该调用 tpl views/index.twig 方法 {{ content() }} 但 Twig 对这种方法一无所知。