CakePHP Global slug路由器

时间:2012-01-13 12:02:27

标签: cakephp seo router slug

我为所有帖子配置了slugs,我需要Router来执行以下链接:

/controller/post_slug_name 我需要为所有控制器使用它,但是当我选择时:

Router::connect('/admin', array('admin' => true, 'controller' => 'settings', 'action' => 'dashboard'));
Router::connect('/:controller/:slug', array('action' => 'index'), array('pass' => array('slug')));

管理面板无效。我怎么能这样,简单,并使用管理面板工作?感谢

修改: 有了这些树路由器正在按照我的意愿工作,除了在控制面板中我甚至在网址中得到索引操作而不是很酷

Router::connect('/admin', array('admin' => true, 'controller' => 'settings', 'action' => 'dashboard'));
Router::connect('/admin/:controller/:action/*', array('admin' => true));
Router::connect('/:controller/:slug', array('action' => 'index'), array('pass' => array('slug')));

2 个答案:

答案 0 :(得分:0)

我没试过这个,所以我不确定它是否有效,但请尝试以下方法......

Router::connect('/:controller/:slug', array('action' => 'view:slug'));

您查看函数还需要接受$ slug作为参数:

function view($slug){
     ...
}

如果上述方法不起作用,您也可以尝试这样做:

Router::connect('/:controller/*',array('action' => 'view'));  

再一次,我没有尝试过任何这些代码,也不知道是否有任何作用,只是把想法放在一边。当我回到家时,我会帮助他们。

谢谢,

答案 1 :(得分:0)

尝试连接/admin/*而非/admin