【问题标题】:How to make parameter optional in Zend Framework Router如何在 Zend Framework Router 中使参数可选
【发布时间】:2012-10-06 19:17:31
【问题描述】:

我想知道 .ini 配置文件的设置,以制作其中页码参数是可选的路由,以便

http://news.mysite.com/national
http://news.mysite.com/national/1

指向同一页面。

我的代码如下

resources.router.routes.news_list.type = "Zend_Controller_Router_Route_Regex"
resources.router.routes.news_list.route = "([a-zA-Z0-9\-]+)/([0-9\-]+)"
resources.router.routes.news_list.defaults.module = "news"
resources.router.routes.news_list.defaults.controller = "index"
resources.router.routes.news_list.defaults.action = "category"
resources.router.routes.news_list.defaults.page = 1
resources.router.routes.news_list.map.1 = "categ"
resources.router.routes.news_list.map.2 = "page"
resources.router.routes.news_list.reverse = "%s/%s"

some1 可以帮助我解决修改此代码以使其适用于两个 url 的解决方案

【问题讨论】:

    标签: regex zend-framework router


    【解决方案1】:

    您可以在没有正则表达式路由的情况下使用:

    routes.news_list.route = ":action/:page"
    routes.news_list.defaults.module = "news"
    routes.news_list.defaults.controller = "index"
    routes.news_list.defaults.action = "category"
    routes.news_list.defaults.page = 1
    

    我假设您希望每个请求都转到“新闻”模块和“索引”控制器。 url中只有action和page是可变的。

    【讨论】:

      【解决方案2】:
      resources.router.routes.news_list.type = "Zend_Controller_Router_Route_Regex"
      resources.router.routes.news_list.route = "([a-zA-Z0-9-]+)/?([0-9]+)?"
      resources.router.routes.news_list.defaults.module = "news"
      resources.router.routes.news_list.defaults.controller = "index"
      resources.router.routes.news_list.defaults.action = "category"
      resources.router.routes.news_list.defaults.page = 1
      resources.router.routes.news_list.map.1 = "categ"
      resources.router.routes.news_list.map.2 = "page"
      resources.router.routes.news_list.reverse = "%s/%d"
      

      如果您需要使用正则表达式,类似的方法也可以工作。

      【讨论】:

        猜你喜欢
        • 2011-02-04
        • 1970-01-01
        • 2023-04-10
        • 2011-07-17
        • 1970-01-01
        • 2012-11-07
        • 2019-09-12
        • 2012-11-03
        • 2011-02-02
        相关资源
        最近更新 更多