2015-08-26 48 views
0

我在cakephp中有兩個函數「product」和「view」。如果任何一個類型domainname.com/item1然後調用「product」函數,並且domainname.com/item1/item2調用「view」函數。CakePHP路由 - 只有參數的URL

item1和item2是動態內容。

Router::connect('/:category', array('controller' => 'Posts', 'action' => 'product')); 

Router::connect('/:category/:title', array('controller' => 'Posts', 'action' => 'view'));

我使用routes.php文件

問題這個代碼是這樣,如果我進入domainname.com/item1那麼調用視圖功能。

請教我如何在cakephp中使用url重寫。

+0

請問你的產品動作​​看起來? –

+0

你是什麼控制器名稱? – Fury

+0

我的控制器是Post。 –

回答

0

嘗試添加/職位和specifie這樣的順序:

Router::connect('/posts/:category/:title', 
      array('controller' => 'Posts', 'action' => 'view'), 
      array(
      // order matters since this will simply map ":category" to $category in your action 
      'pass' => array('category', 'title') 
      ) 
      ); 

你可以看看到文檔http://book.cakephp.org/2.0/fr/development/routing.html

+0

我們不會在URL中加入任何前綴,比如「posts」 –

0

試試這個

Router::connect('/:category/:product', 
    array('controller' => 'posts', 'action' => 'view'), 
    array('pass' => 
     array('product') 
)); 

Router::connect('/:product', array('controller' => 'posts', 'action' => 'product')); 
+0

同樣的問題在那裏。一次只有一臺路由器正在工作。 –

+0

你是什麼意思?這就是你所要求的。如果您轉到item1 domainname.com/item1,否則如果您轉到item1/item2轉到domainname.com/item1/item2 – Fury

+0

您的控制器名稱是什麼? – Fury