2013-03-19 117 views
0

我正在開發一個Zend Application,其中我需要實現slug based URL,因爲Wordpress用於其頁面/帖子。我已經完成了static pages,它的工作正常,因爲我需要。這是不同的場景。我正在嘗試路由到相應的模塊/控制器。Zend框架基於類別/子類別/ product slug的SEO友好URL路由

有兩件事情

  1. 在我的應用程序,Category/Subcategory在那裏。例如:

    cat1, cat2

    subcat11, subcat12, subcat21, subcat22, subcat23

  2. 分配給在-至少一個subcategoryProducts。例如:

    product1, prdocut2, product3

注:類別,子類別,例如在使用的產品名稱,是塞。

網址應爲:

對於A類:http://domain.com/cat1

子類別:http://domain.com/cat1/subcat11

對於產品:http://domain.com/product1

我已經設計了三個控制器,每個。清單顯示在他們的Index行動。

CategoryController, SubcategoryController, ProductController

如果我在應用引導應用路由,網站的索引頁面重定向到類別頁面。

$categoryrouter = new Zend_Controller_Router_Route('/:categoryslug/', 
        array(
         'module' => 'default', 
         'controller' => 'category', 
         'action' => 'index', 
         'categoryslug' => 'mobiles' 
        ) 
); 

$chain->chain($categoryrouter); 

$router->addRoute('categoryrouter', $categoryrouter); 

可能是重複的問題,但我GOOGLE了很多,發現沒有合適的答案這個問題。

回答

0

看到這篇文章的一些信息如何做到這一點:http://tfountain.co.uk/blog/2010/9/9/vanity-urls-zend-framework。您需要兩個單獨的路線類 - 一個用於類別,另一個用於發佈帖子。

你似乎也只是爲一條路由使用路由鏈接,這是不必要的。還要注意術語,你的應用程序有一個'路由器',它有很多'路由'。

+0

謝謝,我已經檢查了這個鏈接。它僅適用於一個slu((http://domain.com/cat1類和產品http://domain.com/product1),但不適用於子類別http://domain.com/cat1/subcat11。我有一些靜態頁面和客戶頁面。我爲此使用了Route Chaining。 – Tsimtsum 2013-03-20 13:37:31

+0

對於路由路由而言,其原理仍然相同,但在路由類的匹配函數中,您會檢查循環中的pathBits – 2013-03-20 13:44:51