/ sitemap.xml的行动路线的要求定制的控制器

史蒂芬劳埃德沃特金斯 ,星期三2010年1月6日上午12时13分

为了请求直接/ sitemap.xml的一个自定义的控制器和您的行动, Zend Framework的应用程序只需添加)以下的application.ini或替代你的配置文件(例如我使用navigation.ini:

 resources.router.routes.sitemap.route =“sitemap.xml的”
 resources.router.routes.sitemap.defaults.controller =指数
 resources.router.routes.sitemap.defaults.action =网站地图

示例输出代码可以通过在适当的控制器动作看到的(如我的Sitemap在于指数控制器,地图行动):

 < PHP的
类IndexController
    延伸Zend_Controller_Action
 {
     / **
      *基础上渲染Zend_Navigation设置一个站点地图
      * /
    公共职能sitemapAction()
     {
    	回声$这个->“查看->”导航() - >“网站地图();
    	 $这个->“查看->”布局() - >“disableLayout();
    	 $这个-> _helper -> ViewRenderer中-> setNoRender(真);
     }
 }

站点地图可以快速,方便地生成使用Zend_Navigation ,一个伟大的快速教程(一般非常有用的教程为Zend框架)是Zend的石膏 - 动态创建菜单地图和面包屑

2回应“为sitemap.xml的请求路由到自定义控制器/动作”

  1. 有一点我忘了提的是,你还需要指定您为您的站点地图标准的路线,否则,所有网址会指向/ sitemap.xml的,如果你使用Zend_Navigation_Page_Mvc(如果你提供的URI不会有问题)。

    比如我最新的项目使用以下路由:

    ; ==============================
    ;资源路由
    ; ==============================
    resources.router.routes.www.type =“Zend_Controller_Router_Route_Hostname”
    resources.router.routes.www.route =“:module.example.com”
    resources.router.routes.www.defaults.module =“默认”
    resources.router.routes.www.chains.index.type =“Zend_Controller_Router_Route”
    resources.router.routes.www.chains.index.route =“:控制器/:动作/ *”
    resources.router.routes.www.chains.index.defaults.controller =“指数”
    resources.router.routes.www.chains.index.defaults.action =“指数”
    resources.router.routes.sitemap.type =“Zend_Controller_Router_Route”
    resources.router.routes.sitemap.route =“sitemap.xml的”
    resources.router.routes.sitemap.defaults.controller =指数
    resources.router.routes.sitemap.defaults.action =网站地图

    因此,在我的navigation.xml(或任何配置您决定使用),你需要指定的路由使用,例如

    default.pro.pages.aboutUs.label =“公司简介”
    default.pro.pages.aboutUs.module =“www”的
    default.pro.pages.aboutUs.controller =“关于美”
    default.pro.pages.aboutUs.action =“指数”
    default.pro.pages.aboutUs.resource =“www_pages”
    default.pro.pages.aboutUs.route =“www的指数”

  2. [...]在我的最后一篇文章关于Zend_Navigation,为sitemap.xml的定制控制器/路由请求行动的延续,这篇文章是关于dymnamically添加页面到Zend_Navigation容器在运行时/脚本[...]

给一个答复













全景主题 Themocracy

现在4访客在线
3位客人,一机器人,0位会员
最大游客今日:16日下午1时13分联合技术
本月:26日2011年7月5日上午12点35分联合技术
今年:130 28-03-2011下午10时40联合技术
所有时间:130 28-03-2011下午10时40联合技术