Route requests for sitemap.xml to custom controller/action
In order to direct requests for /sitemap.xml to a custom controller and action in your Zend Framework application simply add the following in your application.ini or alternative config file (e.g. I use navigation.ini):
resources.router.routes.sitemap.route = "sitemap.xml" resources.router.routes.sitemap.defaults.controller = index resources.router.routes.sitemap.defaults.action = sitemap
Example code for outputting can be seen by creating an action in the appropriate controller (e.g. my sitemap lies in the index controller, sitemap action):
<php
class IndexController
extends Zend_Controller_Action
{
/**
* Renders a sitemap based on Zend_Navigation setup
*/
public function sitemapAction()
{
echo $this->view->navigation()->sitemap();
$this->view->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
}
}
Sitemaps can quickly and easily be generated using Zend_Navigation, a great quick tutorial (and generally very useful for Zend Framework tutorials) is Zend Casts – Dynamically creating a menu a sitemap and breadcrumbs.











































