ch01Joomla外掛簡介——Joomla外掛開發
阿新 • • 發佈:2019-02-10
什麼是外掛
元件和模組非常容易解釋,能夠直接輸出內容。外掛卻是各色各樣的。每個外掛都有自己的用途。
外掛被分成:外掛組,或者叫做外掛型別。按型別理解外掛就較為容易了。
Joomla核心中的外掛型別
Joomla核心包括12個型別的50多個外掛。
- 內容外掛。更改內容的,在第5章
- 系統外掛。在第6章
- 認證外掛。使用者登入認證。在第7章
- 2要素認證外掛。除了常規認證外的其他額外認證。在第7章
- 使用者外掛。當用戶登入登出新建刪除時。在第8章。
- 搜尋外掛。當使用com_search是,這些外掛決定搜尋什麼內容。在第9章。
- finder外掛(smart search 外掛)。使用com_finder外掛時呼叫。com_search和com_finder的區別是,前者直接操作資料庫中的表,後者外掛一些索引表,然後只搜尋索引,更快更有效率。在第9章。
其他的外掛在第10、11章 - 編輯器外掛。
- 按鈕外掛。
- 驗證碼外掛。
- 擴充套件外掛。
- 快捷圖示外掛
還有更多外掛。會在第11章簡要介紹。
外掛和事件
外掛型別只是人為區分組織外掛的。真正驅動外掛的是事件。
事件是在Joomla程式碼中的一個位置,告訴外掛,“嗨,在這個地方做點啥!”
比如,元件com_user
使用JForm
來列印使用者資訊。在表單生成之前,呼叫JDispatcher
來觸發onContentPrepareForm
事件。外掛監聽這個事件,來修改$form
變數。程式碼如下:
JPluginHelper::importPlugin(′user ′); $dispatcher = JDispatcher::getInstance(); $results = $dispatcher->trigger( ′onContentPrepareForm′, array($form, $data) );
學習如何製作外掛,歸結為學習這些外掛事件。
外掛提供了一個方便的機制來修改現有的功能,而不用改變原始程式碼。不管是Joomla核心還是第三方擴充套件,都能使用這個方式。而且還可以定製自己的事件。
使用外掛的幾點建議
排序很重要。這決定了外掛的執行順序。序號越小的越先執行。新外掛被安裝後,預設序號值是0。注意,外掛的順序不一定總是有效。外掛有順序,但事件沒順序。一個外掛可以用來對應2個事件。為第一個事件改了順序,可能會影響第二個事件。
不要使用太多的外掛。會減慢前端,弄亂後臺。不用的外掛就刪除。或者不用使用線上網站來測試新擴充套件。
總結
外掛用來監聽Joomla系統丟擲的事件。