2016-12-02 172 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