2012-11-23 142 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到您的佈局文件夾。