2013-03-14 3 views
1
이 글을 읽는 것

나는 모든 사람,- 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_Controller_Router_Route 클래스를 사용하여 유사한 URL을 만들 수있는 방법을 알고 싶습니다

. 내가 정규식 친절하지 않다, 그래서 I :

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) 

참고 : 내 웹 사이트에 대한

, 그것은 같은 것 저것을 금지하고 싶으면 누군가 정확한 표현, 그것을 평가할 것입니다.

; /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 

다음 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 

:

답변

1

이봐, 난 여기 당신이 구성에 사용 INI 있다면 모르겠지만 내가이 있다면 내가 할 거라고 어떻게 이것이 도움이 되었으면 좋겠다.

+0

글쎄, 이것은 정렬과 순서가'/'로 나뉘 지 않고 '.'로 구분된다는 점을 제외하면 꽤 좋다. –

+1

Zend Router는 경로 일치에 따라 매개 변수를 구분합니다. 일치 매개 변수 구분 기호는 "/"입니다. 아마도 당신은 자신의 작가를 써야 할 것입니다. " 매개 변수 구분자로 사용하고 /blog/articles/:sortBy.:order/:page와 같은 비밀리에 처리합니다. 명심하자면, "." 기호는 CEO의 단어를 구분하기 위해 사용됩니다. 따라서 귀하의 링크가 일부 검색 엔진에 의해 오해 될 수 있습니다. –

+0

좋은 지적! 내가 너의 대답을 듣겠다. –