如何在不使用链接CAKEPHP 2.x中的控制器和操作名称的情况下仅使用属性调用特定操作

时间:2015-03-15 13:14:35

标签: cakephp routes maping

我尝试仅使用类别名称从类别控制器获取与该类别相关的所有产品,而不在链接中提及控制器名称

产品是我的默认控制器。

Router::connect('/', array('controller' => 'products', 'action' => 'index'));

我希望通过此链接获得任何类别的产品

website.com/category_name

虽然现在我能够以这种方式进入

website.com/categories/find_products/category_name 

如此善意地建议我如何使用正确的映射/路由来完成此任务。

1 个答案:

答案 0 :(得分:0)

你的路由器应该是这样的:

Router::connect('/:category_name', array('controller' => 'categories', 'action' => 'find_products'));

然后在您的行动中,您可以阅读您的参数:

$this->params['category_name'];

重要的是,您必须将此路由作为最后一个放在routes.php文件中,因为它将捕获所有请求。