2016-12-02 99 views
1

我怎样才能得到模板与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

我想你应该解释的背景下,发展你的问题。你真的在找什么? – AnthonyB

+0

@AnthonyB我想发送树枝在其他服务器解析,并希望用json发送一些源代码,并得到回报的HTML。 – Iwan

+0

我现在明白了,谢谢。路径是否正确?在Twig引擎中,可以设置一个模板目录,在这个文件夹中是first.html.twig? – AnthonyB

回答

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)); 
0

如果我明白你的问题的权利,你想要将来自树枝文件#1的数据放入#2,然后用自己的内容和#2显示#2 #1。

我不知道你是否得到任何错误。但最好的方法是使用{% include %}选项可以在这里找到info include

+0

我想要在php中获得带有'extend'或'includ'的固定模板 – Iwan

+2

@Iwan Twig被编译成'PHP',你不能在afaik之后获得源代码,只有编译后的'PHP'源代码 – DarkBee