CakePHP でカスタム テーマを作成したいと考えています。すべてのメニュー リンクを含む CakePHP ディレクトリ構造のどこにブロックを保存できますか? からファイルを取得するにはどうすればよいView\Themed\MyTheme\Layouts\default.ctpですか?
3 に答える
下に置くだけ/App/Views/Layoutsです。どこでも使いたいなら、それを呼んでくださいdefault.ctp、それは自動的に使われます。それ以外の場合は、別の名前を付けてから、コントローラーで次のようにします。
public function some_action() {
$this->layout = 'mylayout';
}
これはsome_action、デフォルトの代わりにレイアウトを使用して表示されます。
アクセスするView\Themed\MyTheme\Layouts\default.ctpには: (Cake 2.1+) では、使用するテーマを Cake に次のように指定する必要があります。
public $theme = 'MyTheme';
// or override in an action:
$this->theme = 'MyTheme';
それで:
$this->layout = 'default';
を参照しますView\Themed\MyTheme\Layouts\default.ctp。
Cake が要求されたビュー ファイルを で見つけられない場合MyTheme、それを見つけるために にフォールバックしapp/Viewます。
このようにして、必要に応じてテーマのビューをオーバーライドできます。
したがって、メニューを に配置するとView/Elements/menu.ctp、すべてのテーマがアクセスできるようになります。を上書きしたい場合は、内MyThemeに を作成するだけです。Elements/menu.ctpMyTheme
思い出すと、プロセスは以前のバージョンの Cake とは少し異なります。