【问题标题】:Module in Joomla only called onceJoomla 中的模块只调用一次
【发布时间】:2019-12-17 15:29:26
【问题描述】:

我有一个用

调用模块的组件
< ?php
$modules = JModuleHelper::getModules('modulename');
foreach ($modules as $module) {
echo JModuleHelper::renderModule($module);
}
? >

这在 foreach 语句中被多次调用,但是我注意到如果我将 rand() 或 microtime() 放入模块中,它似乎只执行一次然后复制到其他调用(如缓存?)。这是为什么?我需要该模块内的唯一 ID。有没有办法覆盖它并为每个模块渲染强制使用不同的内容?

【问题讨论】:

标签: module joomla


【解决方案1】:

它可能取决于缓存或模块的实现。

在全局级别,您可以在全局配置中禁用缓存;或者您可以阻止在单个模块的配置中使用缓存。

您应该将缓存设置为“保守”,而不是渐进式,因为后者确实会在单个页面上弄乱同一模块的副本。

最后,缓存是在模块代码中实现的,所以它最终是在假设所有开发者都正确实现所有缓存策略的前提下运行的;大多数扩展都是如此,但不是全部。

【讨论】:

    猜你喜欢
    • 2015-12-08
    • 1970-01-01
    • 2012-03-05
    • 1970-01-01
    • 2011-10-06
    • 1970-01-01
    • 2012-05-15
    • 1970-01-01
    • 2013-07-25
    相关资源
    最近更新 更多