2011-03-26 59 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