0

私のサイトのホームページでCakePHPの基本的なキャッシュ機能を利用したいと思います。ただし、ページには、訪問者のIPアドレスによって決定されるように、訪問者の場所に応じて異なるデータを表示する必要がある要素が1つあります。

コントローラに設定されている変数を<cake:nocache>でラップすることはできません。これは、以前に場所を特定してデータを取得していた場所です。したがって、私の質問は、コントローラーの前に訪問者の位置情報を含めるために(セッション?)変数をどこに最適に設定できるかということです。この情報を使用して、呼び出されなくなったコントローラーアクションを完全に回避しながら、ビューのキャッシュされていない部分のデータの配列を設定するにはどうすればよいですか?

どんなアドバイスも大歓迎です!

4

1 に答える 1

0

うーん、まあ、どうやらCakePHPの質問は世界全体にとってあまり興味がないようです:2日間でたった8ビュー:(

いずれにせよ、もう少し調べてみると、<nocache>タグでは変数を囲んで動的にすることはできませんが、要素やヘルパーに対して非キャッシュ呼び出しを行うことができます。したがって、ページの関連部分を要素に抽出し、ヘルパー関数を呼び出してデータ配列にデータを入力しました。

これは、ヘルパーの内側からモデルにアクセスする必要があることを意味しました。

$this->Modelname =& ClassRegistry::init("Modelname");

そして、これが必ずしも敬意を表するCakePHPやMVCのやり方であるかどうかはわかりませんが、少なくとも解決に向けた何らかの方法です。

于 2011-06-25T20:15:14.330 に答える