我想在 CakePHP 中创建我的自定义主题。在包含所有菜单链接的 CakePHP 目录结构中,我可以在哪里保存我的块?以及如何从中获取文件View\Themed\MyTheme\Layouts\default.ctp
?
问问题
232 次
3 回答
0
只需将其放在/App/Views/Layouts
. 如果你想在任何地方使用它,调用它default.ctp
,它会自动被使用。否则,给它一个不同的名称,然后在控制器中执行:
public function some_action() {
$this->layout = 'mylayout';
}
这将some_action
使用您的布局而不是默认布局显示。
于 2013-01-12T11:37:33.430 回答
0
要访问: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
inside MyTheme
。
如果我记得的话,这个过程与以前版本的蛋糕略有不同。
于 2013-01-12T13:18:46.403 回答