我正在使用 CakePHP 3.1,我正在尝试创建一个像这个伪代码一样工作的路由
:category/:sub-category/:slug
if(:subcategory doesn’t exist){ treat as :controller/:action }
:category/:controller/:action
:category/:controller
if(:controller doesn’t exist){ treat as action }
:category/:action
if(:action doesn’t exist){ then action is view use as slug }
:category/:slug
if(:slug doesn’t exist){return 404 }
:category/:sub-category/
connect( controller=>article, action=>view, :subcategory, :slug=>’home’
:category/)
connect( controller=>article, action=>view, :subcategory=>none , :slug=>’home’)
类别将控制更改样式的主题,我将在我的 ArticlesController.php 中添加
这甚至可能吗?如果检查是否存在超出路由范围,我不介意检查 inList。由于类别和子类别将是固定数量。
这对路线来说很复杂吗?我应该在视图操作下的 ArticlesController.php 中执行此操作吗?然后做
$routes->connect('/:slug', ['controller' => 'articles', 'action' => 'view']);