2017-11-22 16 views
-1

私はcakephp 3の初心者です。私はアプリケーションレイアウトを特定のプラグインコントローラに追加する方法がわかりません。以下のようなcakephp 3.xのプラグインコントローラでアプリケーションのレイアウトを設定するには?

マイフォルダ構造:

<pre> 
projectName(folder) 
->Plugins(folder) 
    ->PluginsName 
    ->src 
    ->controller 
    ->UsersController 
->src(folder) 
    ->Template(folder) 
    ->Layout(folder) 
     ->login.ctp 
</pre> 

がどのように私は私のプラグインコントローラ(がUserController)にこのlogin.ctpレイアウトを使用することができますか?

答えて

0

次の方法で特定の機能でレイアウトを追加できます。

// Set the layout. 
$this->viewBuilder()->setLayout('login'); 

// Before 3.4 
$this->viewBuilder()->layout('login'); 

// Before 3.1 
$this->layout = 'login'; 

あなたは完全なコントローラーでそれを追加が必要な場合は、あなたが参考beforeRender

public function beforeRender(Event $event) 
{ 
    parent::beforeRender($event); 
    $this->viewBuilder()->setLayout('Admintheme'); 
} 

にそれを追加することができます:beforeRenderLayout

+0

、それはまた、プラグインで働くことはできますか? –

+0

はいそれは@ a.shahを動作させるべきです – tarikul05

+0

はい、私はそれが仕事のおかげであることを確認します。 –

関連する問題