如何更改路线中的cakePHP网址?

时间:2011-05-22 19:01:28

标签: php url-routing cakephp-1.3

我试图在app / config / routes.php中修改我的路线。

我有这样的网址: http://example.com/controller/action/params 我想这样的网址: http://example.com/controller/params

根据我的理解,这是我建立的路线:

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

这是我的index.ctp文件中的服务链接:

echo $this->Html->link(
     __($service['Service']['title'], true),
    array('controller' => 'services', 'action' => 'view', service['Service']'slug'])
); 

如果有帮助,这是我的服务控制器的视图功能:

    function view($slug) {
        $service = $this->Service->findBySlug($slug);

        $this->set('service', $service);
    }

1 个答案:

答案 0 :(得分:0)

你快到了。 动作路径的视图文件是view.ctp(方法名称)而不是index.ctp

在您的链接中,您可以这样做:

<?php
echo $this->Html->link(
__($service['Service']['title'], true),
array('controller' => 'services', 'action' => $service['Service']['slug'])
?>

没有'action'参数的方法,因为你的设置会为你做路由。