在joomla菜單項頁面中,我多次放置相同的模塊實例(我在模塊管理器中複製)。現在嚴格要求我的模塊的某些代碼必須是一次在page.Because我的模塊的每個實例一次又一次地注入相同的代碼。 如何避免它,這樣只有一些代碼會出現在頁面中,當我在同一頁中有多個模塊實例的我的模塊? 通過網絡搜索,我發現了一些不可靠的方法 -在同一頁面中顯示多個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和3個的Joomla版本。如果有更好的無差錯的方式來做到這一點呢!儘快提供給我。
是什麼讓你覺得這些不可靠? –
就好像那個常數在全局工作...... – mks
http://php.net/manual/en/language.constants.php「顧名思義,在腳本執行過程中,這個值不能改變。」他們非常全球化。你更大的擔心是定義另一個擴展試圖定義的常量。但是隻要讓你的名字具有描述性(即把模塊的名字放在常量中),你應該沒問題。 –