我正在動態地將內容加載到我的模態中,並且通常它將成爲我的網站上已經是可正常訪問的頁面的頁面。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