Ok。TwigをViewエンジンとして使用しており、Phalconのバージョンは0.8です。
このリポジトリから取得したアダプターのコード:github私はcomposerを介してTwigを含めるため、このコードに小さな変更を加えました。これらの変更は重要ではないため、ここでは説明しません。
それで。ビューのディレクトリ構造は非常に単純です。
app
- views
--- index.twig
--- about
---- index.twig
views / index.twigのソース:
<html>
<head>
<title>Phalcon PHP Framework</title>
</head>
<body>
{% block content 'This is main page' %}
</body>
</html>
そしてviews/about / index.twigのソース:
{% extends "index.twig" %}
{% block content %}
This is About page
{% endblock %}
また、単一のメソッドを持つコントローラーAbout(AboutController.php)があります
public function indexAction()
空っぽです。
Ok。今。ページ/aboutのリクエストを行うと、次のようなものが表示されると思います。
This is About page
しかし、views/index.twigのコンテンツはまだ表示されています。
This is main page
それは私には少し奇妙です。ブロック「コンテンツ」を再割り当てします!
テンプレートviews/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はこのメソッドについて何も知りません。