Форумный плагин CakeDC с префиксом - PullRequest
0 голосов
/ 30 мая 2018

Мы используем 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".

Но нам нужно используйте плагин для префикса (скажем, "member"), а затем он больше не работает.Переход на «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
]

1 Ответ

0 голосов
/ 30 мая 2018

Что может сделать, это загрузить плагин Forum без маршрутов

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

И скопировать содержимое файла плагина Forum rout.php в ваше приложение rout.php, заменяя только ['path' => '/forum'] с ['path' => '/member/forum'].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...