Symfony2将.twig输出保存到web目录

时间:2017-01-17 05:50:39

标签: symfony

我有一个站点地图,其生成方式与常规网页(索引,联系人等等)相同。 现在我想每天/每周运行一次cron并将sitemap.xml保存到/ web目录。

是否可以将.twig模板输出保存到网站的/ web目录

由于

PS:我打算创建symfony命令来生成sitemap.xml到/ web目录。但我不确定它是否会起作用。

1 个答案:

答案 0 :(得分:0)

是。只需创建一个生成sitemap.xml的命令即可。使用twig或php xml函数渲染站点地图无关紧要。你只需用php保存它。所以这可能在你的命令中:

$sitemap = // however you collect the sites

$renderedSitemap = $this->getContainer()->get('templating')
    ->render('sitemap/sitemap.xml.twig', [
        'sitemap' => $sitemap,
    ]);

file_put_contents(
    dirname($this->getContainer()->getParameter('kernel.root_dir')).'/web/sitemap.xml',
    $renderedSitemap
);

这就是全部。您的命令必须扩展ContainerAwareCommand才能访问容器。构造的路径需要标准的symfony结构。如果你改变了,你必须调整路径。