CakePHP:将链接更改为';标签/索引/php';只是';标签/php';

CakePHP:将链接更改为';标签/索引/php';只是';标签/php';,php,cakephp,url-routing,Php,Cakephp,Url Routing,我有一个名为TagsController的控制器,它从索引操作中的url获取标记名,以获取带有该标记的项目列表 <?php foreach($tags as $tag){ echo "<span class='homepagetags'>".$html->link($tag['t']['tag'], array('controller' => 'tags', $tag['t']['tag'])) . "</span> x " . $tag[0]

我有一个名为TagsController的控制器,它从索引操作中的url获取标记名,以获取带有该标记的项目列表

 <?php
foreach($tags as $tag){
    echo "<span class='homepagetags'>".$html->link($tag['t']['tag'], array('controller' => 'tags', $tag['t']['tag'])) . "</span> x " . $tag[0]['NumOccurrances'] . "<br><br>";
}
 ?>

是的,有一个路由解决方案。在烹饪书的这一部分中,它被解释了一半。例如:

Router::connect(
    '/:controller/:id',
    array('action' => 'view'),
    array('id' => '[0-9]+')
);

是的,有一个路由解决方案。在烹饪书的这一部分中,它被解释了一半。例如:

Router::connect(
    '/:controller/:id',
    array('action' => 'view'),
    array('id' => '[0-9]+')
);

具体而言,您需要:

// routes.php
Router::connect(
   '/tags/:tag',
   array('controller' => 'tags', 'action' => 'index')
);
然后,要创建链接,请执行以下操作:

echo $html->link(
    'PHP Tag',
    array('controller' => 'tags', 'action' => 'index', 'tag' => 'php')
);

具体而言,您需要:

// routes.php
Router::connect(
   '/tags/:tag',
   array('controller' => 'tags', 'action' => 'index')
);
然后,要创建链接,请执行以下操作:

echo $html->link(
    'PHP Tag',
    array('controller' => 'tags', 'action' => 'index', 'tag' => 'php')
);

这很好,但现在唯一的问题是我的标记控制器给了我一个函数索引($tag){}错误是“TagsController::index()缺少参数1”。当我从操作中删除参数时,错误消失以回答我上面的问题:$tag=mysql\u real\u escape\u string($this->params['tag']);这很好,但现在唯一的问题是我的标记控制器给了我一个函数索引($tag){}错误是“TagsController::index()缺少参数1”。当我从操作中删除参数时,错误消失以回答我上面的问题:$tag=mysql\u real\u escape\u string($this->params['tag']);