symfony2用twig生成静态html

时间:2012-11-22 11:20:17

标签: symfony twig

有没有办法将hig代码从twig模板放入html文件中。 我的意思是,在这种情况下

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

有没有办法可以做到这一点?

$html->output($html_file);

它使用模板生成一个html文件。

我这样做是因为我收到了wordpress博客的新闻,我想在主页上显示最新消息。所以我想把我网站的新闻放在一个静态文件中,以避免在每个家庭请求中生成它。

2 个答案:

答案 0 :(得分:6)

如果您仔细查看文档,则会找到this chapter,其中包含:

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

答案 1 :(得分:4)

完成@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');