为分页、排序和过滤器创建URL - ZF


Creating URL for pagination, ordering and filters - ZF

所有正在阅读这篇文章的人,

我在互联网上5分钟前,我发现了一个很好的URL:

www.exemple.com/blog/rating.asc/2

与:

blog => controller/action/module or anything
rating => ordered by
asc => order of list
2 => current page

我想知道如何使用Zend框架的Zend_Controller_Router_Route类创建类似的URL。

对于我的网站,它是这样的:

www.exemple.com/portfolio/date.asc/2

www.exemple.com/blog/author.desc/ (page optional, default 1)

www.exemple.com/blog/ (default order: date.asc, page: 1)

注意:我对Regex不太友好,所以我想禁止这样做,或者如果有人知道确切的表达式,我将不胜感激。

嘿,我不确定你是否使用ini进行配置但如果我有一个:

module     => blog
controller => article
action     => list
// Parameter to get from the request in the controller
// Note that those are the defaults in case you don't provide any parameters in the url
sortBy => author
order  => asc
page   => 1   
ini文件中的

:

; /www.exemple.com/blog/articles/author/desc/2
resources.router.routes.whateverroutname.route = /blog/articles/:sortBy/:order/:page
resources.router.routes.whateverroutname.defaults.module = blog
resources.router.routes.whateverroutname.defaults.controller = article
resources.router.routes.whateverroutname.defaults.action = list
resources.router.routes.whateverroutname.defaults.sortBy = author
resources.router.routes.whateverroutname.defaults.order = asc
resources.router.routes.whateverroutname.defaults.page = 1

希望这对你有帮助