CakePHP:将链接更改为';标签/索引/php';只是';标签/php';
我有一个名为TagsController的控制器,它从索引操作中的url获取标记名,以获取带有该标记的项目列表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]
<?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']);