2012-11-22 118 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');