我试图在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);
}
答案 0 :(得分:0)
你快到了。 动作路径的视图文件是view.ctp(方法名称)而不是index.ctp
在您的链接中,您可以这样做:
<?php
echo $this->Html->link(
__($service['Service']['title'], true),
array('controller' => 'services', 'action' => $service['Service']['slug'])
?>
没有'action'参数的方法,因为你的设置会为你做路由。