我必须使用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
答案 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);