大家好
在joomla3中,開發元件很重要的就是活用外掛
在joomla3中有很多外掛種類,甚至也可以自行新增
比較常用就是system外掛
那我這邊大概說明如何呼叫外掛
 
//例如:驗證外掛種類 captcha
JPluginHelper::importPlugin('captcha');//載入外掛
$dispatcher = JDispatcher::getInstance(); //調用函式
//這邊可以取得驗證碼來做到驗證功能
//array(NULL) 是要塞進去的值
$verifycode = $dispatcher->trigger('onDisplay',array('name','id','class'));//執行事件



 
那外掛那邊程式碼是如何呢?
在 plugins/captcha/recaptcha/recaptcha.php
就有
 
public function onDisplay($name, $id = 'dynamic_recaptcha_1', $class = '')
 
這樣的函式
所以我們可以用陣列這樣塞值
array('name','id','class')
給外掛
然後正確的執行
 
結語:
 
對我來說,外掛的定位主要用於[擴充]
也就是雖然元件本身已經有helper
但是helper比較類似於元件之中的常用函式
但是外掛算是一種跨元件的通用呼叫函式
而且配合joomla3的系統架構
可以讓開發功能更具客製化,更有彈性
例如:編輯器的擴充功能也可以使用外掛擴充
 
給大家參考囉
感恩