CakeDC的论坛插件,前缀为

时间:2018-05-30 09:36:16

标签: cakephp routing cakephp-3.0 cakedc

我们正在使用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
]

1 个答案:

答案 0 :(得分:0)

可以做的是加载没有路由的论坛插件

Plugin::load('CakeDC/Forum', ['bootstrap' => true]);

论坛插件routes.php的副本内容将文件发送到您的应用routes.php,仅将['path' => '/forum']替换为['path' => '/member/forum']