1

私のプロジェクトでは、ビューをライトボックスに表示していますが、トップ ナビゲーションをロードしたくありません。私は使用しています:

$this->render('ajax');

そうすれば、コンテンツのみが読み込まれ、ライトボックス内で見栄えがします。

問題は、ビューリンクを共有するときです。

ビュー リンクをクリックすると、トップ ナビゲーションなどないビュー ページのみが表示されます。

ビューメソッドのみのレンダリング値を変更するにはどうすればよいですか?

4

2 に答える 2

1

通常、ここでリクエスト ハンドラが機能します。

次のようなことを試してください:

if ($this->request->is('ajax')) {
    $this->layout = 'ajax';
    $this->render('ajax');

} else {
    $this->layout = 'regular_layout';
    $this->render('not_ajax');
}

直接アクセスapp/controller/actionすると、代わりに「非 ajax」ビュー/レイアウトがレンダリングされます。

詳しくはドキュメントをご覧ください。

于 2013-01-17T12:30:45.733 に答える
0

$this->referer() を使用して、ユーザーがあなたのサイトまたは別のサイトから来たかどうかを確認できます。別のサイト (外部) から来た場合は、別のビューをレンダリングするか、ユーザーを別のページにリダイレクトするだけです..アドレスを参照するのではなく、セッションで同じことを行い、ユーザーがセッションを持っているかどうかを確認します(以前に設定する必要がありました)...

于 2013-01-17T12:28:09.240 に答える