NoCaching我的CakePHP页面的一小部分

时间:2011-06-23 15:46:57

标签: caching cakephp no-cache

我想在我网站的主页上使用CakePHP的基本缓存功能。但是,页面上有一个元素应根据访问者的位置显示不同的数据,具体取决于其IP地址。

你不能包装< cake:nocache>围绕控制器中设置的变量,这是我之前确定位置和获取数据的位置。因此,我的问题是:在控制器之前,我可以在哪里优化设置(会话?)变量以包含访问者位置信息?如何使用此信息填充视图的nocached部分的数据数组,同时完全回避不再调用的控制器操作?

非常感谢任何建议!

1 个答案:

答案 0 :(得分:0)

嗯,好吧,很明显,CakePHP问题对全世界都没有多大兴趣:2天内只有8次观看:(

在任何情况下,我进一步调查并发现,而< nocache>标签不允许您环绕变量以使其动态化,它们允许您对元素或帮助程序进行非缓存调用。因此,我将页面的相关部分提取到一个元素中,并通过调用辅助函数来填充数据数组。

这确实意味着我必须使用

从帮助程序内部访问模型
$this->Modelname =& ClassRegistry::init("Modelname");

而且我不确定这是否必须是尊重CakePHP和/或MVC的做事方式,但至少它是解决问题的方法!