我一直在我的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