我正在动态地将内容加载到我的模态中,并且通常它将成为我的网站上已经是可正常访问的页面的页面。CakePHP - 如何建立模式布局
所以我想能够重用该控制器/操作并将其加载到我的模式中,但显然控制器已经使用布局。所以当我将页面加载到我的模式中时,我网站的页眉和页脚全部都是模式,我不想要。
一个解决方案,我认为可能的工作,但似乎像一个肮脏的解决办法,是在我AppController中有该说,这是一个模态呼吁页面(不正常通话的URL参数进行检查)。然后用一个特殊的模态覆盖布局。
//app_controller.php
public function beforeRender() {
if (isset($this->params['passed']['_modal'])) {
$this->layout = 'modal';
}
}
// In my jQuery call to open the modal:
myModal.load('users/view/5/_modal').dialog('open');
然后在modal.ctp
布局我将包括一个样式,看起来像:
// modal_layout.css
@import url("normal_layout.css");
.header, .footer {display:none;}
所以我不必重新定义所有我的正常布局的CSS,但我可以隐藏部分我不想展示。
这看起来像是一个愚蠢的做法,我不知道它是否可行,但肯定有人必须使用CakePHP做这件事,那么你们会建议什么?
但是那么它不会请求布局,视图,CSS,JS等,即使它只是一个没有视图的Ajax请求? – BadHorsie