/** * Generate a sitemap of the website * @param sfWebRequest $request */ public function executeSitemap(sfWebRequest $request) { $gsg = new GsgXml(); $gsg->addUrl('http://' . $_SERVER['HTTP_HOST'], false, date('c'), false, 'daily', 1); $pages = sfPlopPageQuery::create()->filterByIsPublished(true)->filterByIsCategory(false)->find(); foreach ($pages as $page) { $url = '@sf_plop_page_show?slug=' . $page->getSlug(); $url_date = $page->getUpdatedAt('c'); foreach (sfPlop::get('sf_plop_cultures') as $culture) { $gsg->addUrl($this->getController()->genUrl($url . '&sf_culture=' . $culture, true), false, $url_date, false, 'daily', 0.5); } } $gsg->generateXml(); $this->setLayout(false); $this->getResponse()->setContentType('text/xml'); return $this->renderText($gsg->output()); }