Twig模板继承覆盖不呈现

时间:2015-12-07 04:25:56

标签: php twig

我对树枝很新,并且一直在试试。一切都很好,直到模板覆盖,我似乎不能为我的生活找出原因。

链接到twig文档,了解我想要完成的任务http://twig.sensiolabs.org/doc/templates.html#template-inheritance

的index.php

<?php
//get twig instance
require_once 'Twig/autoloader.php';
Twig_Autoloader::register();


//declare template directory
$loader = new Twig_Loader_Filesystem('templates');
$twig   = new Twig_Environment($loader);


echo $twig->render('base.twig');

base.twig

<!DOCTYPE html>
<html>
    <head>
    </head>
    <body>
     {% block content %}
        <p>Default content block</p>
     {% endblock %}
    </body>
 </html>

override.twig

{% extends 'base.twig'%}
{% block content %}
  <p>Content block override</p>
{% endblock %}

项目文件夹结构
- ProjectFolder

  • Twig(图书馆)
  • 模板

    - base.twig

    - override.twig

  • 的index.php

1 个答案:

答案 0 :(得分:0)

您必须呈现override.twig

[...]
echo $twig->render('override.twig');

就像这样,Twig将进入override.twig,它将计算extends指令。这里没有任何魔力。 Twig将搜索其他文件以进行扩展。