的index.php
ob_start();
require_once 'page.twig';
$page = ob_get_contents();
ob_clean();
ob_start();
require_once 'base.twig';
$base = ob_get_contents();
ob_clean();
$loader = new \Twig_Loader_Array(array(
'page' => $page,
'base' => $base,
));
$twig = new \Twig_Environment($loader);
echo $twig->render('base', $mydataarr);
echo $twig->render('page', $mydataarr);
base.twig
These words on the content area<br>
{% block content %}{% endblock %}<br>
These words under the content area<br>
page.twig
{% extends 'base.twig' %}
{% block content %}
These words inside the content area
{% endblock %}
问题:
extends关键字的问题。我可以单独打印页面或基本内容。但我无法使用extends或include或embed打印它们。
我使用定制的php系统。我将代码包装到try块中,我的例外是;
private&#39; rawMessage&#39; (Twig_Error)=&gt; string&#39; Template&#34; base.twig&#34;没有定义。&#39; (长度= 32)
答案 0 :(得分:0)
这里有点晚了,但您应该将其命名为“base.twig”,因为这是 page.twig 中的扩展模板。
$loader = new \Twig_Loader_Array(array(
'page' => $page,
'base.twig' => $base,
));