Вопрос:

Модуль в Joomla вызывается только один раз

module joomla

8 просмотра

1 ответ

843 Репутация автора

У меня есть компонент, который вызывает модуль с

< ?php
$modules = JModuleHelper::getModules('modulename');
foreach ($modules as $module) {
echo JModuleHelper::renderModule($module);
}
? >

Это вызывается несколько раз внутри оператора foreach, однако я заметил, что если я помещаю rand () или microtime () внутри модуля, кажется, что он выполняется только один раз, а затем копируется в другие вызовы (например, в кэш?). Это почему? Мне нужны уникальные идентификаторы внутри этого модуля. Есть ли способ переопределить это и заставить различный контент для каждого модуля рендеринга?

Автор: Sandro Antonucci Источник Размещён: 09.08.2019 10:12

Ответы (1)


0 плюса

5202 Репутация автора

Это может зависеть от кеша или от реализации модуля.

На глобальном уровне вы можете отключить кэширование в глобальной конфигурации; или вы можете запретить использование кэша в конфигурации отдельного модуля.

Вы должны установить кэш «консервативный», а не прогрессивный, поскольку последний действительно может испортить копии одного и того же модуля на одной странице.

Наконец, кэш реализован в коде модуля, поэтому он в конечном итоге функционирует при условии, что все разработчики правильно реализуют все стратегии кеширования; что верно для большинства расширений, но не для всех.

Автор: Riccardo Zorn Размещён: 11.08.2019 08:03
Вопросы из категории :
32x32