我们正在使用CakePHP 3.5.17,并希望使用CakeDC的论坛插件:https://github.com/CakeDC/cakephp-forum
我们使用Composer安装了它,并在应用程序的bootstrap.php中添加了这一行:
Plugin::load('CakeDC/Forum', ['bootstrap' => true, 'routes' => true]);
该插件有效,我们可以使用以下路径浏览路线:" / forum",例如" mysite.com/forum"。
但是我们需要使用插件作为前缀(让我们说"会员"),然后,它没有&#t;工作了。 导航到" mysite.com/member/forum"抛出一个Missing Controller异常。 CakePHP在应用程序中寻找一个ForumController,虽然它应该寻找插件......
我们没有为前缀写任何特定路线。刚宣布:
Router::prefix('member', function ($routes) {
$routes->fallbacks(DashedRoute::class);
});
我们错过了吗?我认为CakePHP的默认路由能够使用" /:前缀/:插件/:控制器"来管理路由。结构(根据文件)。
这就是CakePHP跟踪的内容:
params => [
'controller' => 'Forum',
'pass' => [],
'action' => 'index',
'prefix' => 'member',
'plugin' => null,
'_matchedRoute' => '/member/:controller',
'_ext' => null,
'isAjax' => false
]
答案 0 :(得分:0)
可以做的是加载没有路由的论坛插件
Plugin::load('CakeDC/Forum', ['bootstrap' => true]);
论坛插件routes.php的副本内容将文件发送到您的应用routes.php,仅将['path' => '/forum']
替换为['path' => '/member/forum']
。