在前端訪問Joomla 1.6和1.7中的com_users組件時,應用程序會自動導入來自'用戶'組的所有插件。顯然,如果你不想創建一個組件來簡單地將一些變量傳遞給一個插件,這是非常有用的。Joomla 1.5 com_user和導入用戶插件,如Joomla 1.6和更高版本
好的。讓我們更簡單:
- 用戶獲得激活鏈接:http://example.com/index.php?option=com_users&task=edit&emailactivation=1&u=63&d077b8106=1並點擊它。
- 當然,組件將省略emailactivation和其他參數,簡單地顯示「編輯個人資料表格」(或登錄表格)。
- 然後JApplication進口所有插件從 '用戶' 組,這將觸發__constructors
基本上,插件的__constructor一個可以設置簡單的動作像下面這樣:
class plgUserAccountactivation extends JPlugin
{
public function __construct(& $subject, $config)
{
parent::__construct($subject, $config);
if(isset($_GET['emailactivation'])) {
// check token
// activate account, email or whatever
// redirect with message
}
}
}
哇!它工作,沒有必要創建一個完整的控制器來處理一個簡單的任務。
但是等一下...
- 在鏈路變化的index.php?選擇= com_users到index.php?選擇= com_user
- 而且,我們嘗試的Joomla 1.5 ...
嘿,嘿,沒有任何反應com_user根本沒有導入任何東西,__constructor也沒有調用。
我很擔心這個在Joomla 1.5中,我不想寫整個組件。
如果有人有一些明智的想法,請讓我知道。
編輯:
HTTP:: 我已經通過發送以下形式的聯繫解決我的問題/example.com/index.php選項= com_user & 任務=註銷 & emailactivation = 1 & U = 63 & d077b8106 = 1
這樣用戶插件被包括和__constructors被執行。但是,這是如此無趣,任務=註銷並不真正鼓勵點擊鏈接。
我需要它作爲用戶插件,除了你的代碼將在所有子網頁被執行,即使在「com_content」 – WooDzu
其實我已經解決我的問題暫時的,看到更新的問題 – WooDzu
是,插件總是執行。但計算工作量並不大,因爲它會徹底檢查它是否在正確的位置,例如在「com_content」中立即從執行中返回。 – hbit