NoCaching Небольшая часть моей страницы CakePHP - PullRequest
0 голосов
/ 23 июня 2011

Я хочу использовать основные функции кэширования CakePHP на домашней странице моего сайта.Однако на странице есть один элемент, который должен отображать разные данные в зависимости от местоположения посетителя, что определяется по его IP-адресу.

Вы не можете перенестивокруг переменных, которые установлены в контроллере, где я ранее определял местоположение и получал данные.Поэтому мой вопрос: где я могу оптимально установить переменную (сеанс?), Чтобы она содержала информацию о местоположении посетителя перед контроллером?Как я могу использовать эту информацию, чтобы заполнить массив данных для неокэшированной части представления, полностью обходя действие контроллера, которое больше не вызывается?

1 Ответ

0 голосов
/ 26 июня 2011

Хм, ну, по-видимому, вопросы CakePHP не представляют большого интереса для мира в целом: всего 8 просмотров за 2 дня: (

В любом случае я исследовал немного подробнее и обнаружил, что, хотя теги не позволяют вам окружать переменные, чтобы сделать их динамическими, они действительно позволяют вам делать не кэширующие вызовы элементов или помощников. Поэтому я извлек соответствующую часть моей страницы в элемент и заполнил массив данных, вызвав вспомогательную функцию.

Это означало, что я должен был получить доступ к модели изнутри помощника с помощью

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

и я не уверен, что это обязательно уважительный способ CakePHP и / или MVC, но по крайней мере это какой-то путь к решению!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...