Twig,得到消息来源

时间:2016-12-02 12:25:06

标签: php symfony twig

如何使用extend获取模板:

//first.html.twig
<div>
{% block test %}
{% endblock %}
</div>

second.html.twig

{% extend "first.html.twig" %}
{% block test %}
    {% if test = 'foo' %}
        {{ test }}
    {% endif %}
{% endblock %}

在php文件中:

<?php
    $load = ???('second.html.twig');
    $source = $load->getSource();
    //$source:
    //<div>
    //    {% if test = 'foo' %}
    //        {{ test }}
    //    {% endif %}
    //</div>

2 个答案:

答案 0 :(得分:2)

documentation所示,您可以将布局设置为模板。例如:

来自文档

// {% extends layout %}

// deprecated as of Twig 1.28
$layout = $twig->loadTemplate('some_layout_template.twig');

// as of Twig 1.28
$layout = $twig->load('some_layout_template.twig');

$twig->display('template.twig', array('layout' => $layout));

答案 1 :(得分:0)

如果我理解你的问题,你想把twig文件#1中的数据放到#2中,然后用#1的内容和#1显示#2。

我不知道你是否收到任何错误。但最好的方法是使用{% include %}选项信息,可以在此处找到include