試してくださいRouter::promote()
:
Router::promote()
ルート (デフォルトでは、最後に追加されたもの) をリストの先頭に昇格させます
私があなたの質問を正しく理解していれば、あなたは 1 つのルートだけを上書きしたかったのです。app/Config/routes.php
で、オーバーライドされたルートとプロモートを追加しますCakePlugin::routes();
//.... your routes....
//Here the plugin routes being loaded
CakePlugin::routes();
//Overwrite route:
Router::connect('/accessDenied', array('plugin' => 'usermgmt', 'controller' => 'users', 'action' => 'accessDenied'));
Router::promote(); //and promote it
これでうまくいくはずです。プロモートは、最後のルートを一番上に移動するだけです。CakePHP では、ルーティングは先着順 (ソースをよく確認すると配列です) として機能するため、昇格すると、最後に定義されたルートが最上位に移動され、プラグインで定義されたルートが上書きされます。
編集
宣伝したくない場合は、 の前 CakePlugin::routes()
にルートを定義することもできます。それもうまくいくはずです。