2011-03-26 63 views
0

(我知道在這個網站上還有一些其他的反向路由 - slugs問題,但我沒有太多的運氣來解答我的特定問題的答案,所以我會問我的更具體的問題...)在CakePHP中反向路由基於團狀的URL

我正在建立一個網站,其網址現在需要基於slu,,即什麼是最初的新聞/項目/ 1現在必須有網址新聞/ firstnewsitem。對於其他許多控制器也是如此。我可以輕鬆地獲得這些地址的工作,甚至可能不是踩在我的現有設施的行動,喜歡的東西:

Router::connect('/:controller/:slug', 
    array('action'=>'item'), 
    array('pass'=>array('slug'), 'slug'=>'[^(index|add|edit|view|delete)]') 
); 

然而,這些新鏈接的反向路由似乎是一個非首發:蛋糕是仍然產生新聞/項目/ 3這樣的鏈接。希望基於slug的URL能夠自動發生似乎是樂觀的,但是有沒有可以通過我的Html-> link參數傳遞的數組,這些參數將創建我正在尋找的controller /:slug格式?或者我必須在這一點上減少我的損失並退出反向路由嗎?

回答

0

還有這裏處理基於鼻涕蟲路由一個相當不錯的插件: https://github.com/jeremyharris/slugger

如果你使用這個,你將能夠創建鏈接像這樣

$html->link("some item", array(
    'controller'=>'items', 
    'action'=>'view', 
    'Item'=>$item['id'] 
)); 

,並且將輸出鏈接到/ items/view/slug-for-your-item

+0

看起來很有趣,謝謝你的提示! – thesunneversets 2011-03-30 22:39:52

+0

無效鏈接。猛拉住在這裏:https://github.com/jeremyharris/slugger – Im0rtality 2013-02-21 20:48:15

+0

謝謝,我更新了鏈接。 – declan 2013-02-22 21:07:05