1. 程式人生 > >ch01Joomla外掛簡介——Joomla外掛開發

ch01Joomla外掛簡介——Joomla外掛開發

什麼是外掛

元件和模組非常容易解釋,能夠直接輸出內容。外掛卻是各色各樣的。每個外掛都有自己的用途。
外掛被分成:外掛組,或者叫做外掛型別。按型別理解外掛就較為容易了。

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系統丟擲的事件。