2012-11-22 113 views
5

有沒有辦法將html代碼從樹枝模板放入html文件中。 我的意思是,在這種情況下symfony2生成帶樹枝的靜態html

$html = $this->render('SiteBundle:Generated:home_news.html.twig', array('news' => $news))->getContent(); 

有沒有辦法在那裏我可以做到這一點?

$html->output($html_file); 

它使用模板生成html文件。

我這樣做是因爲我有來自wordpress博客的新聞,我想在主頁上顯示最新消息。所以我想把我的網站的消息放在一個靜態文件中,以避免在每個家庭請求中生成它。

回答

6

如果更仔細地檢查文檔,你會發現this chapter,它說:

$content = $this->renderView('AcmeHelloBundle:Hello:index.html.twig', array('name' => $name)); 
+2

感謝您的答覆,但對不起,我想你還沒有理解我。我不想顯示樹枝模板的輸出。我想將這些內容保存到一個html文件中,我將在其他地方使用它。 –

+3

所以'file_put_contents()'你的'$ content' - 不是? :) –

+2

是的,但我正在問一個方法來做它與小枝或與S2 –

3

要完成@VitalityZurian答案:

首先,生成你的標記:

$content = $this->renderView('AcmeHelloBundle:Hello:index.html.twig', array('name' => $name)); 

然後寫入文件:

$file = file_put_contents($filename, $content); 

可以使用Symfony2的方法,幫助你包處理地點:

$bundleResourcesDir = $this->get('kernel')->locateResource('@AcmeAnotherBundle/Resources/views'); 
file_put_contents($bundleResourcesDir.'/index.html.twig` 

並檢索它:

$view = $this->get('kernel')->locateResource('@AcmeAnotherBundle/Resources/views/index.html.twig');