在CakePHP中更改管理布局

xaa*_*aav 9 php cakephp

我在cakephp工作,我的/app/config/routes.php文件中有以下两行:

/**
 * ...and setup admin routing
 */
 Router::connect('/admin/:controller/:action/*', array('action' => null, 'prefix' => 'admin', 'admin' => true, 'layout' => 'admin' ));
/**
 * ...and set the admin default page
 */
 Router::connect('/admin', array('controller' => 'profiles', 'action' => 'index', 'admin' => true, 'layout' => 'admin'));
Run Code Online (Sandbox Code Playgroud)

我在/app/views/layouts/admin.ctp上也有一个布局

但是,当我访问管理URL时,布局不会更改

Mar*_*rko 30

创建一个app/app_controller.php并将其放入:

<?php
class AppController extends Controller {

    function beforeFilter() {
        if (isset($this->params['prefix']) && $this->params['prefix'] == 'admin') {
            $this->layout = 'admin';
        } 
    }

}
Run Code Online (Sandbox Code Playgroud)

parent::beforeFilter();如果您在其他控制器中使用它,请不要忘记调用控制器.

与问题半相关,您不需要定义路由,只需启用Routing.adminconfig选项并将其设置adminapp/config/core.php.(CakePHP 1.2)