0

在 joomla 菜单项页面中,我多次放置了相同的模块实例(我在模块管理器中重复了)。现在严格要求我的模块的某些代码只能在页面中出现一次。因为我的模块的每个实例再次注入相同的代码然后再次。如何避免它,以便当我在同一页面中有我的模块的多个模块实例时,只有一些代码只会出现在页面中一次?通过网络搜索我发现了一些不可靠的方法 -

1.Using session in module i track whether same module loading two or more times and restrict code injecting one time only
2.using a constant like this way - 
if(!defined('MODULE_ALREADY_LOADED')){
//echo codes that you only want done once
//this will set the constant and now the other modules won't load/echo the code
define('MODULE_ALREADY_LOADED', true);
}

但不确定第二种方式与 joomla 2.5 以及 joomla 3 版本的兼容性有多大!如果有更好的无错误方式来做到这一点,请尽快提供给我。

4

1 回答 1

0

在您的模块代码中,您可以使用 addscript 方法(它检查重复的脚本)而不是直接编写 js。因此,将您的脚本外部化,然后在您的代码中:

$document = JFactory::getDocument();
$document->addScript('your_script.js');
于 2013-07-26T09:51:00.130 回答