encaminhar pedidos de sitemap.xml para o controlador personalizado / ação
A fim de pedidos directos de / sitemap.xml para um controlador de costume e ação em sua Zend Framework aplicativo basta adicionar o seguinte no seu application.ini ou arquivo de configuração alternativo (por exemplo, eu uso navigation.ini):
resources.router.routes.sitemap.route = "sitemap.xml" Índice resources.router.routes.sitemap.defaults.controller = sitemap resources.router.routes.sitemap.defaults.action =
Exemplo de código para a saída pode ser visto através da criação de uma acção no controlador adequado (por exemplo o meu sitemap reside no controlador de índice, a ação sitemap):
< php IndexController classe estende Zend_Controller_Action { / ** * Processa um Sitemap com base em configuração Zend_Navigation * / sitemapAction função pública () { echo $ this navegação-> view-> () -> sitemap (); $ This-layout-> view-> () -> disableLayout (); $ This-> setNoRender _helper-> ViewRenderer-> (true); } }
Sitemaps pode rapidamente e facilmente ser gerada usando Zend_Navigation , um grande tutorial rápido (e geralmente muito útil para Zend Framework tutoriais) é Zend Casts - Dinamicamente criar um menu de um sitemap e pão ralado .


















































Uma coisa que eu esqueci de mencionar é que você também vai precisar especificar sua rota padrão para o mapa do site, caso contrário, todos os URLs que apontam para / sitemap.xml se você usar Zend_Navigation_Page_Mvc (se você estiver fornecendo URIs não será um problema ).
Por exemplo, o meu mais recente projeto usa o seguinte encaminhamento:
; ==============================
; Recursos de roteamento
; ==============================
resources.router.routes.www.type = "Zend_Controller_Router_Route_Hostname"
resources.router.routes.www.route = ": module.example.com"
resources.router.routes.www.defaults.module = "default"
resources.router.routes.www.chains.index.type = "Zend_Controller_Router_Route"
resources.router.routes.www.chains.index.route = ": controller /: action / *"
resources.router.routes.www.chains.index.defaults.controller = "index"
resources.router.routes.www.chains.index.defaults.action = "index"
resources.router.routes.sitemap.type = "Zend_Controller_Router_Route"
resources.router.routes.sitemap.route = "sitemap.xml"
Índice resources.router.routes.sitemap.defaults.controller =
sitemap resources.router.routes.sitemap.defaults.action =
Portanto, em minha navigation.xml (ou qualquer config você decidir usar), você precisa especificar o encaminhamento a ser usado, por exemplo,
default.pro.pages.aboutUs.label = "Perfil da Empresa"
default.pro.pages.aboutUs.module = "www"
default.pro.pages.aboutUs.controller = "sobre nós"
default.pro.pages.aboutUs.action = "index"
default.pro.pages.aboutUs.resource = "www_pages"
default.pro.pages.aboutUs.route = "índice www"
[...] Uma continuação do meu último post sobre Zend_Navigation, encaminhar pedidos para sitemap.xml para o controlador personalizado / acção, este post é sobre dymnamically adicionar páginas a um recipiente Zend_Navigation em [...] runtime / script