Модуль в Joomla вызывается только один раз
У меня есть компонент, который вызывает модуль с помощью
< ?php
$modules = JModuleHelper::getModules('modulename');
foreach ($modules as $module) {
echo JModuleHelper::renderModule($module);
}
? >
Это вызывается несколько раз внутри оператора foreach, однако я заметил, что если я помещаю rand() или microtime () внутри модуля, кажется, что он выполняется только один раз, а затем копируется на другие вызовы (например, кэш?). Почему это так? Мне нужны уникальные идентификаторы внутри этого модуля. Есть ли способ переопределить это и заставить другой контент для каждого модуля визуализации?

Ответы - Модуль в Joomla вызывается только один раз / Module in Joomla only called once

11.08.2019 11:03:46
Это может зависеть от кэша или от реализации модуля.
На глобальном уровне можно отключить кэширование в глобальной конфигурации или запретить использование кэша в конфигурации отдельного модуля.
Вы должны установить кэш в "консервативный", а не прогрессивный, так как последний действительно может испортить копии одного и того же модуля на одной странице.
Наконец, кэш реализован в коде модуля, поэтому он в конечном счете функционирует в предположении, что все разработчики правильно реализуют все стратегии кэша; что верно для большинства расширений, но не для всех.