2010-11-15 76 views
1

我已經創建了一個cakephp應用程序。我的網址看起來像如何在cakephp中創建自定義網址

www.mysite.com/products/search/hardware 

它加載正常。但我希望網址看起來像

www.mysite.com/hardware 

可這是通過設置路由實現連接

我感謝所有幫助。

謝謝。

回答

3

是的,您可以使用路線。

Router::connect(
    '/hardware', 
    array('controller' => 'products', 'action' => 'search', 'hardware') 
); 

對於更通用的解決方案(任何種類名稱路由到產品/搜索)看到http://book.cakephp.org/view/948/Defining-Routes

0

如何在您的控制器文件夾中創建hardware_controller。

+0

謝謝,我想到了,但我也有其他類別,所以我將不得不創建更多的控制器。認爲他們可以簡單的解決方案。 – 2010-11-15 13:38:56

+0

從來沒有真正理解路由器如何工作tbh我覺得有點混亂,所以我傾向於避免它。抱歉。 – woodscreative 2010-11-15 19:09:55

1

你可以添加類似

Router::connect('/hardware', 
        array('controller' => 'products', 'action' => 'search'), 
        array('pass' => array('search'), 'search' => 'hardware')); 
在routes.php文件文件

,但你必須爲每個可搜索項目執行此操作。

如果您想自動獲取某些東西,您將面臨的問題是您需要一種方法將您的可搜索產品與其他所有型號區分開來。因此,也許你應該滿足於其他類型的URL像

www.mysite.com/products/hardware 

www.mysite.com/s/hardware 

,並相應地使用相應的路由。