私は Twig を使い始めようとしていますが、{% block %} をまったく機能させるのに本当に頭が痛いです。
私のindex.phpローダーは次のようになります。
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
require_once( "Twig/Autoloader.inc.php" );
Twig_Autoloader::register();
$twig = new Twig_Environment( new Twig_Loader_Filesystem("templates"));
$vars = array (
"user" => array(
"name" => "Joe Bloggs"
),
"title" => "My website"
);
$tpl = $twig->loadTemplate("index.html");
echo $tpl->render($vars);
?>
のindex.htmlの簡易バージョンは/templates
次のようになります。
<!doctype html>
<html>
<body>
Hello World!
{% block navigation %}Test{% endblock %}
</body>
</html>
そして、navigation.htmlは次の/templates
ようになります。
{% extends "index.html" %}
{% block navigation %}
<!-- Navigation -->
<nav>
Some navigation
</nav>
{% endblock %}
私が理解している限り、これはブロック機能の基本的な動作例です。Twig のその他の部分は問題なく機能しているようで、エラーは報告されていません。実際、ページは "Test" を正常に出力します。
どこかのnavigation.htmlファイルを明示的に指定する必要がありますか?それとも、Twig は/templates
フォルダー内のすべてのファイルを自動的にロードしますか?