2017-11-16 4 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の

/** 
* 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

おかげで私は、すべてのコントローラのアクションのためにのみベースコントローラのためのルートを定義する必要がありMathew-。 – user3653474

+0

@ user3653474 'DashedRoute'ハンドラはコントローラ名を'/PanelAdmin/controller/action'ルートのコントローラ関数に自動的にルーティングします。 – cgTag

関連する問題