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.ctp
MyTheme
思い出すと、プロセスは以前のバージョンの Cake とは少し異なります。