Немного контекста: мне нужно кэшировать домашнюю страницу моего сайта CakePHP - кроме одной небольшой части, которая отображает события, локальные для пользователя, на основе их IP-адреса.
Очевидно, что вы можете использовать тег для указания части страницы, которая не должна кэшироваться; но вы не можете окружить переменную, заданную контроллером, этими тегами, чтобы сделать ее динамичной. Насколько я знаю, когда страница кэшируется, это все для действия контроллера.
То, что вы можете полезно окружить тегами nocache - это элементы и помощники. Поэтому в этих тегах я создал элемент, который вызывает вспомогательную функцию для доступа к модели и получения соответствующих данных. Чтобы получить модель от помощника, я использую:
$this->Modelname =& ClassRegistry::init("Modelname");
Однако мне кажется, что это не совсем верный способ ведения дел, как с точки зрения CakePHP, так и общих принципов MVC. Поэтому мой вопрос заключается в том, является ли это подходящим способом добиться того, что я хочу сделать, или это должно звучать как предупреждение? Есть ли намного лучший способ достижения моих целей, которого я здесь просто упускаю?