Joomla onPrepareContent事件未触发

时间:2013-06-03 11:11:09

标签: events caching joomla joomla1.5

我正在使用一个使用onPrepareContent()事件的Joomla插件。但是,我已确定如果启用了缓存,则此事件会,并且内容会被缓存(即cache/com_content)。

如果文章被缓存,并且文章数据可用,我如何才能查看文章? (我指的是最后一个条件因为,否则,我可以使用系统事件 - 例如onAfterRoute()或类似的

2 个答案:

答案 0 :(得分:1)

缓存背后的想法确实是数据被检索一次并多次提供,因此在缓存加载期间它无法在任何地方使用;所以在你的插件中你可以访问数据库并使用不同的事件(例如onAfterRoute())加载文章,但当然你正在放慢你的网站速度,并且可能基于ajax浏览器的替代方案可以实现同样的目的(你还没有澄清)。

另一种方法是强迫Joomla不要缓存文章,如果你只想在有限数量的文章上实现这一点,但这很可能需要核心攻击,并且它不会比使用插件更快。上面写道。

答案 1 :(得分:0)

在Joomla 3.4.0中,我尝试在内容插件中使用系统事件,并且在缓存内容时不会触发;首次加载和缓存页面时,只有一次。在那之后,他们不会再次开火。我想内容插件只在页面被缓存时被调用,无论它包含什么事件。