2012-08-22 81 views
0

我是Zend Framework中的新成員,我遇到了路由問題。
我希望做這樣的事情:Zend Framework到多個控制器的路由

  • http://localhost/category/
    去類別控制器與沒有分頁和城市參數

  • http://localhost/category/page/
    去類別與頁面參數並無一城參數

  • http://localhost/category/city/
    前往類別城市參數,沒有頁面參數

  • http://localhost/category/city/page/
    RY控制器進入類別控制器與城市和頁面參數

  • http://localhost/city/
    去城市控制器與沒有分頁參數

  • http://localhost/city/page/
    去頁面參數的城市控制器

p.s.頁面分頁程序PARAM 什麼我想要做的是這樣的:

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... 

我可以在Zend框架標準途徑實現這一目標還是有我編寫自定義路由器?

是否可以在?符號後通過$this->url可選參數?我的意思是這樣的:

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

你是什麼意思的城市和頁面參數?參數名稱和參數值。你的意思是,在城市作爲參數名稱和頁面作爲參數值的類別控制器? – Karma

+0

我的意思是頁面是分頁參數。我不知道如何查看url中是否存在城市指定的城市,然後路由轉到城市管制員,否則路由轉到類別控制器,城市只是一個參數(城市slug)。我的目標是在這種情況下獲得產品類別和當前城市,例如http:// localhost/phones/new-york /我從類別手機和紐約市獲得產品清單。 (對不起,我的英語不好 :) ) – Maciej

回答

0

URL幫助器將不會輸出查詢字符串參數,因爲這些不是路由的一部分。您的選項是:

包括他們在結束:

<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> 
相關問題