使用Twig_Loader_String在Twig中扩展模板

时间:2014-09-07 13:03:27

标签: twig

我必须使用Twig_Loader_String渲染模板,我需要扩展模板,如下所示:

$body='{% extends "/views/path/to/my/template" %}
       {% block body %} Hello {% endblock %}';

在PHPs方面,我写道:

$loader = new Twig_Loader_String();
$twig = new Twig_Environment($loader);
$twig->render($body,array());

我不明白为什么渲染后的结果只是:

/views/path/to/my/template

2 个答案:

答案 0 :(得分:0)

您只有一个字符串加载器,该字符串是您的实际模板。你正在扩展它,并覆盖了体块 - 但它没有体块。

答案 1 :(得分:0)

通过@Maerlyn用一些代码扩展答案如何做到:

$loaders = [
    new Twig_Loader_Filesystem('path/to/twig/views'),
    new Twig_Loader_String()
];

$loader = new Twig_Loader_Chain($loaders);

$twig = new Twig_Environment($loader);