Мы используем 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».
Но нам нужно использовать плагин для префикса (скажем, «член»), и тогда он больше не работает. При переходе на «mysite.com/member/forum» возникает исключение «Отсутствует контроллер». CakePHP ищет ForumController в приложении, хотя должен искать плагин...
Мы не писали никаких конкретных маршрутов для префикса. Просто объявил это:
Router::prefix('member', function ($routes) {
$routes->fallbacks(DashedRoute::class);
});
Мы что-то упускаем? Я думал, что маршруты CakePHP по умолчанию могут управлять маршрутами, используя структуру «/:prefix/:plugin/:controller» (согласно документу).
Вот что отслеживает CakePHP:
params => [
'controller' => 'Forum',
'pass' => [],
'action' => 'index',
'prefix' => 'member',
'plugin' => null,
'_matchedRoute' => '/member/:controller',
'_ext' => null,
'isAjax' => false
]