CakePHP 3.x: all routes to the plugin -
this not real question, need confirmation know if understand i'm studying (the routes of cakephp).
i have plugin myplugin. default, requests should directed plugin, wish plugin name doesn't appear in url.
for example:
/pages   should resolved as:
['controller' => 'pages', 'action' => 'index', 'plugin' => 'myplugin']   the same should apply "admin" prefix.
for example:
/admin/pages   should resolved as:
['controller' => 'pages', 'action' => 'index', 'plugin' => 'myplugin', 'prefix' => 'admin']   in short, have imagine if application (so except myplugin) has no controller.
i studied routes (particularly this , this) , know if code correct:
router::defaultrouteclass('inflectedroute');  router::prefix('admin', function ($routes) {     $routes->plugin('mecms', ['path' => '/'], function ($routes) {         $routes->fallbacks();     }); });  router::scope('/', ['plugin' => 'mecms'], function ($routes) {       $routes->fallbacks(); });   from tests, seems work. since routes have changed lot compared cakephp 2.x, have confirmation have understood.
thanks.
edit
thanks pgbi, code should final:
router::scope('/', ['plugin' => 'mecms'], function ($routes) {     router::connect('/admin', ['controller' => 'pages', 'action' => 'index', 'plugin' => 'mecms', 'prefix' => 'admin']);      $routes->prefix('admin', function ($routes) {         $routes->fallbacks();     });     $routes->fallbacks(); });      
yes that's correct. think shorter (to tested, idea):
router::scope('/', ['plugin' => 'mecms'], function ($routes) {       $routes->prefix('admin', function ($routes) {         $routes->fallbacks();     });     $routes->fallbacks(); });   edit: add homepage admin section :
router::scope('/', ['plugin' => 'mecms'], function ($routes) {       $routes->prefix('admin', function ($routes) {         $routes->connect('/', ['controller' => 'pages', 'action' => 'index']);         $routes->fallbacks();     });     $routes->fallbacks(); });   you don't need repeat ['plugin' => 'mecms'] or ["prefix" => "admin"] since it's defined before.
Comments
Post a Comment