我一直在我的application.ini文件中設置我的路由,它適用於我設置的所有路由。問題是當控制器中有多個動作時,我嘗試在其他動作中使用路由。Zendframework路由問題
比如我已經創建了我的application.ini分頁和列排序
resources.router.routes.search.route = "search/:page/:col/:sort/:limit/"
resources.router.routes.search.defaults.controller = search
resources.router.routes.search.defaults.page = 1
resources.router.routes.search.defaults.col = time
resources.router.routes.search.defaults.sort = default
resources.router.routes.search.defaults.limit = 50
resources.router.routes.search.reqs.page = \d+
resources.router.routes.search.reqs.col = \w+
resources.router.routes.search.reqs.sort = \w+
resources.router.routes.search.reqs.limit = \d+
上述工作如下,當我在該頁面的像
www.mywebsite.com/search/2/
的默認操作會帶來結果的第二頁。但是如果我在另一個動作上嘗試相同的話,
www.mywebsite.com/search/action/2
它只是顯示一個空白頁。我嘗試在ini中創建自己的設置,但沒有奏效。我以前遇到過這個問題,但通常只是放棄並將事情分成不同的控制器,但我寧願有不同的操作。
任何幫助將不勝感激。
馬特
感謝您的意見,我已經嘗試過,但結果已達到相同的結果。有趣的是我再次搜索,它會默認到第二頁,但是當url params在那裏時,頁面將不會加載。我幾乎要將它分離到它自己的控制器。我擁有的唯一其他路由類似,但用於不同的控制器。是否有更好的方法來實現跨所有控制器和操作的分頁? – 2009-12-15 20:45:48
下面是我最近嘗試基於另一篇文章,我發現,但它仍然無法正常工作。最奇怪的是,如果我在那個頁面上搜索,然後點擊分頁,它會出現空白,但如果我再次搜索它默認第二頁,因爲它可以讀取瀏覽器中的參數,由於某種原因。我將在我的application.ini的下面添加我的其他部分,因爲我在這個評論中的空間不足 – 2009-12-16 16:30:30
resources.router.routes.searchadvanced.route =「search/advanced /:page /:limit /」 resources.router.routes.searchadvanced.defaults.controller =搜索 resources.router.routes.searchadvanced.defaults.action = advanced resources.router.routes.searchadvanced.defaults。頁= 1個 resources.router.routes.searchadvanced.defaults.limit = 25 resources.router.routes.searchadvanced.reqs.page = \ d + resources.router.routes.searchadvanced.reqs.limit = \ d + 的發佈給我這個想法 http://stackoverflow.com/questions/1850558/php-zend-route-config-ini-similar-patterns – 2009-12-16 16:31:01