如何在 link CAKEPHP 2.x 中仅使用属性调用特定操作而不使用控制器和操作名称

How call specific action using only attributes without using controller and action name in link CAKEPHP 2.x

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

中提及控制器名称

products 是我的默认控制器。

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

我想通过这个获得任何类别的产品link

website.com/category_name

而现在我可以通过这种方式进入

website.com/categories/find_products/category_name 

所以请建议我如何使用正确的 mapping/routing 来做到这一点。

您的路由器应如下所示:

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

然后在您的操作中,您可以从以下位置读取您的参数:

$this->params['category_name'];

重要的是你必须把这个路由放在你的 routes.php 文件的最后,因为它会捕获所有请求。