Aquí está un ejemplo quick'n'dirty para jugar con y ajustar a sus necesidades:
En su controlador:
public $components = array('RequestHandler');
public function sitemap()
{
Configure::write('debug', 0);
$articles = $this->Article->getSitemapInformation();
$this->set(compact('articles'));
$this->RequestHandler->respondAs('xml');
}
Su modelo de "artículo":
public function getSitemapInformation()
{
return $this->find('all', array(/* your query here */));
}
Ver:
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<?php foreach ($articles as $article): ?>
<url>
<loc><?php echo Router::url(/* generate the URLs here */); ?></loc>
<lastmod><?php echo $time->toAtom(/* last update time here */); ?></lastmod>
<changefreq>weekly</changefreq>
</url>
<?php endforeach; ?>
</urlset>
gracias para ejemplos – meotimdihia
Recuerde agregar '$ components = array (' RequestHandler '); público en su controlador (o AppController.php para acceso a toda la aplicación) para que esto funcione. – Coreus
@Coreus He actualizado la respuesta, ¡gracias! –