在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版本兼容多少!。如果有更好的无错误方法,请尽快提供给我。
答案 0 :(得分:0)
在您的模块代码中,您可以使用addcript方法(它检查重复的脚本)而不是直接编写js。因此,将脚本外部化,然后在代码中:
$document = JFactory::getDocument();
$document->addScript('your_script.js');