我有一个站点地图,其生成方式与常规网页(索引,联系人等等)相同。 现在我想每天/每周运行一次cron并将sitemap.xml保存到/ web目录。
是否可以将.twig模板输出保存到网站的/ web目录?
由于
PS:我打算创建symfony命令来生成sitemap.xml到/ web目录。但我不确定它是否会起作用。
答案 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结构。如果你改变了,你必须调整路径。