2017-11-16 1 views
0

PanelAdmin이라는 플러그인이 있습니다. 제어기 UsersController.php이 있으며 내부에 다른 동작이 정의되어 있습니다. 이 코드Cakephp에서 플러그인을 호출 할 수 없습니다.

$routes->connect('/PanelAdmin', ['plugin' => 'PanelAdmin','controller' => 'default','action' => 'index']); 

를 통해 플러그인에 기본 컨트롤러를 불렀다하지만 난 URL을 치면 다른 컨트롤러를 호출 할 수 없습니다 :

http://localhost/multi_shopping/PanelAdmin/Users/ 

한 가지 더 내가 지우려면 내가 정의해야입니다 routes.php에있는 모든 컨트롤러 액션의 경로. 내 문제를 해결하십시오. 감사합니다

답변

0

플러그인에서 routes.php 대체 경로를 설정하고 있는지 확인하십시오.

DashedRoute 클래스에서

<?php 
use Cake\Routing\Route\DashedRoute; 
use Cake\Routing\RouteBuilder; 
use Cake\Routing\Router; 

Router::plugin(
    'PanelAdmin', 
    ['path' => '/PanelAdmin'], 
    function (RouteBuilder $routes) { 
     $routes->fallbacks(DashedRoute::class); 
    } 
); 

routes.php : Mathew- 내가 모든 컨트롤러 액션 또는 단지 기본 컨트롤러에 대한 경로를 정의 할 필요가

/** 
* This route class will transparently inflect the controller, action and plugin 
* routing parameters, so that requesting `/my-plugin/my-controller/my-action` 
* is parsed as `['plugin' => 'MyPlugin', 'controller' => 'MyController', 'action' => 'myAction']` 
*/ 
+0

감사합니다. – user3653474

+0

@ user3653474'DashedRoute' 핸들러는 컨트롤러 이름을'/ PanelAdmin/controller/action' 라우트를위한 컨트롤러 함수에 자동으로 전달합니다. – cgTag

관련 문제