2012-11-23 99 views
0
其他布局

我的默认布局是default.thtml中,但我想用另外的布局默认scaffolds.ctp只对脚手架的意见,当我在控制器使用方法:脚手架

public $scaffold; 

我试图在AppController

public function beforeScaffold() { 
     $this->layout = 'default-scaffolds'; 
} 

但没有奏效。

我感谢任何帮助。

回答

1

添加此beforeRender()

public function beforeRender() { 
    if (in_array($this->request->action, array('index', 'add', 'view', 'edit'))) { 
     $this->layout = 'default-scaffolds'; 
    } 
} 
+0

只有在动作(索引,添加,查看,编辑)存在以及存在视图时才适用于我。但我想要的是与 public $ scaffold一起使用它; – mart

3

我只是面临同样的问题,并通过指定路由前缀“管理员”,我加在控制器和AppController的设立

public $scaffold = 'admin'; 

解决它到beforeFilter()方法

public function beforeFilter() { 
    if ($this->request->prefix == 'admin') { 
    $this->layout = 'scaffold'; 
    } 
} 
0

或者,在lib/Cake/Controll ER/Scaffold.php,符合377(的_scaffold(CakeRequest $request)功能全,在此,如果:if (in_array($request->params['action'], $this->scaffoldActions)),只需添加以下行:

$this->layout = 'default_scaffold'; // this is a custom-added line in order to activate the default CSS file when scaffolding 

并添加default_scaffold.ctp到您的布局文件夹。