2012-08-22 2 views
0

Zend Framework가 새로 도입되었으며 경로에 문제가 있습니다.
나는 이런 일을하고자 :Zend Framework 여러 컨트롤러에 대한 하나의 경로

  • http://localhost/category/
    페이지 매개 변수를

  • http://localhost/category/page/
    카테고리로 이동없이 페이지와 도시 매개 변수없이 도시 매개 변수를 카테고리 컨트롤러로 이동을

  • http://localhost/category/city/
    는 catego 도시 매개 변수없이 페이지 매개 변수

  • http://localhost/category/city/page/
    와 스피 컨트롤러는

  • http://localhost/city/
    더 페이지 매개 변수

  • http://localhost/city/page/
    와 도시 컨트롤러로 이동 도시 페이지 매개 변수를 카테고리 컨트롤러로 이동 페이지 매개 변수가있는 도시 컨트롤러로 이동

p.s.

localhost/phones/new-york/2 gets second page products form category phones and city New York 
localhost/phones/2 gets second page products form category from all cities 
localhost/new-york/2 gets second page of all products form city New York and so on... 

나는이 젠드 프레임 워크 표준 경로 달성 할 수 또는 내가 정의 라우터 쓰기 권한 : 페이지는 내가 뭘하고 싶은 것은이 같은 것입니다 매기기의 PARAM 입니까?

$this->url 매개 변수 뒤에 ? 기호 다음에 오는 선택적 매개 변수를 전달할 수 있습니까? 다음과 같은 의미입니다.

http://localhost/category/city?order_by=category-name&order_asc 
+0

도시 및 페이지 매개 변수는 무엇을 의미합니까? param-name 및 param-value입니다. 도시를 매개 변수 이름으로 사용하고 페이지를 매개 변수 값으로 사용하는 범주 컨트롤러에 있습니까? – Karma

+0

페이지가 페이지 매김 매개 변수임을 의미합니다. 나는 도시가 URL에 지정된 도시가 db에 존재한다면 경로가 도시 컨트롤러로 가고 그렇지 않으면 경로가 카테고리 컨트롤러로 가고 도시가 단지 param (도시 슬러그)인지 확인하는 방법을 모른다. 내 목표는이 경우 제품 카테고리 및 현재 도시를 가져 오는 것입니다. 예를 들어 http : // localhost/phones/new-york /는 카테고리 전화 및 뉴욕시에서 제품 목록을 가져옵니다. (내 하찮은 영어 실력에 죄송하다는 말씀을 드리고 싶습니다 :)) – Maciej

답변

0

URL 도우미는 쿼리 문자열 params가 경로의 일부가 아니므로 출력하지 않습니다. 귀하의 옵션은 다음과 같습니다

은 끝을 포함 :

<a href="<?=$this->url(array('controller' => 'category', 'something' => 'city')?>?order_by=category-name&order_asc">Some link</a> 

또는 키/값 쌍 사용하도록 경로를 변경 : 다음

http://localhost/:controller/:something/* 

을, 당신은 할 수 있습니다 :

<a href="<?=$this->url(array('controller' => 'category', 'something' => 'city', 'order_by' => 'category-name', 'order_asc' => 1)?>">Some link</a> 

출력 :

<a href="/category/city/order_by/category-name/order_asc/1">Some link</a> 
관련 문제