私は動的にモーダルにコンテンツをロードしています。そして、しばしば私のサイト上では通常アクセス可能なページになります。CakePHP - モーダルレイアウトを持つ方法
私はそのコントローラ/アクションを再利用してモーダルにロードできるようにしたいと思いますが、コントローラは既にレイアウトを使用しています。だから私のモーダルにページをロードすると、私のサイトのヘッダーとフッターが再びモーダルになります。私は望んでいません。
一つの解決策私はそれがうまくいくかもしれないと思ったが、汚い回避策のように思える、私のAppControllerで、それは、ページのモーダル呼び出し(ではない通常の呼び出しであると言いURLパラメータのチェックを持つことです)。次に、特別なモーダルなものでレイアウトを上書きします。だから私は私の通常のレイアウトのCSSのすべてを再定義する必要はありませんが、私はちょうど部分を隠すことができ
// modal_layout.css
@import url("normal_layout.css");
.header, .footer {display:none;}
:
//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
レイアウトで、私のようなものに見えるスタイルシートが含まれるであろう私は見せたくありません。
これはちょっとばかげたやり方ですが、それがうまくいくかどうかわかりませんが、確かに誰かがこれをCakePHPでやらなければならなかったので、どうしたらいいですか?
しかし、レイアウトやビュー、CSS、JSなどをリクエストしないのは、それがAjaxのリクエストだけであっても表示されないのでしょうか? – BadHorsie