Home Tutorial Fully Loaded Plugin di dalam Module Joomla
xny
E-mail
Fully Loaded Plugin di dalam Module Joomla
Tutorial
Sonny Soleman, Sunday, 19 April 2009 07:00
Buat beberapa rekan yang sering mengutak-atik php script dari Module standar Joomla, maupun Module Custom yang dibuat sendiri atau download dari extensions.joomla.org, pastinya bingung bagaimana caranya meload Plugin yang aktif ke dalam module ? Referensi resmi dari Joomla tidak memberitahukan hal ini secara spesifik.
Berikut coba saya ungkap "rahasia" ini agar kita bisa dengan mudah meload Plugin di dalam Module standard joomla, Module gratisan atau bahkan Module joomla buatan kita sendiri.

A. Menambahkan parameter tambahan ke dalam Module Joomla.

Agar nantinya memudahkan adminstrator joomla site anda mengatur pengaktifan (enable) Plugin dalam Module, bahkan secara bisa secara spesifik hanya meload plugin tertentu, maka kita harus memodifikasi file XML yang biasanya dijadikan acuan dasar parameter yang digunakan oleh module saat di load dalam joomla site.

Yang harus anda ingat di sini adalah module yang bisa anda modifikasi adalah module yang berhubungan langsung dengan "content" artikel joomla. Karena kebanyakan Plugin joomla yang ada selalu berhubungan dengan content article joomla.

Gunakan text editor, bukalah file XML dari module yang akan anda modifikasi. Pada bagian parameter :

<params>
  <param name="... ...
  <param name="... ...
  ....
</params>


Tambahkan parameter berikut ini (copy & paste) :

  <param name="enableplugin" type="list" default="0" label="Enable Plugin" description="Choose True if you want to enable plugin in this module">
     <option value="0">False</option>
     <option value="1">True</option>
  </param>
  <param name="plugintype" type="list" default="0" label="Type Plugin" description="Choose type of plugin that you want to activate">
     <option value="0">All</option>
     <option value="1">Certain</option>
  </param>
  <param name="pluginname" type="text" default="" label="Certain plugin name" description="Fill with certain plugin name that you want to activate" />


tepat sebelum sytax xml berikut : </params>

Keterangan :
* Parameter "enableplugin" itu berfungsi untuk membuat module jadi tahu apakah harus mengaktifkan plugin atau tidak.
* Parameter "plugintype", berfungsi untuk menentukan apakah seluruh plugin content diaktifkan atau hanya satu plugin tertentu saja.
* Parameter "pluginname", berfungsi memberitahu module agar meload plugin tertentu sesuai dengan nama plugin yang diinput.


B. Menambahkan rutin php script khusus ke dalam Module Joomla.

Rutin khusus ini merupakan kunci dari loading Plugin dalam module.

* Khusus Joomla versi 1.0.X :

global $_MAMBOTS;
$enableplugin = $params->get( 'enableplugin', 0 );
$plugintype = $params->get( 'plugintype', 0 );
$pluginname = $params->get( 'pluginname', '' );
if ($enableplugin==1) {
   if ($plugintype==0) $_MAMBOTS->loadBotGroup('content');
   else $_MAMBOTS->loadBot('content', $pluginname, true);
   $params = new mosParameters('');
   $args = array(1,&$row,&$params);
   $_MAMBOTS->trigger( 'onPrepareContent', $args, false );
}



* Khusus Joomla versi 1.5.X :

$enableplugin = $params->get( 'enableplugin', 0 );
$plugintype = $params->get( 'plugintype', 0 );
$pluginname = $params->get( 'pluginname', '' );
if ($enableplugin==1) {
   if ($plugintype==0) JPluginHelper::importPlugin( 'content' );
   else JPluginHelper::importPlugin('content', $pluginname);
   $dispatcher =& JDispatcher::getInstance();
   $params = & new JParameter('');
   $args = array(&$row,&$params,0);
   $dispatcher->trigger('onPrepareContent', $args, false );
}



Dimanakah kita menyisipkan rutin khusus ini di dalam module joomla yang kita modifikasi ?



Inti dari module joomla terletak pada file .PHP, jadi kita menyisipkan (copy & paste) rutin khusus ini ke dalam file .PHP dari module-nya.

Karena plugin content sifatnya selalu melakukan "modifikasi" per 1 data artikel (bisa kita sebut per 1 baris record database), maka kita perlu jeli melihat posisi module asli mulai memproses 1 baris record database tersebut.

Biasanya variable 1 baris record database itu diwakili oleh : $row

Kita bisa melihat bentuk lazim proses perbaris record database dalam format php script, misalnya seperti berikut ini :

foreach ( $rows as $row ) {
    // proses record per baris terjadi di sini

}

Maka rutin khusus di atas bisa anda sisipkan tepat setelah syntax :

foreach ( $rows as $row ) {


Simpanlah semua perubahan / modifikasi yang anda lakukan terhadap module tersebut.Reupload kembali, dan coba login ke Backend Administrator Joomla site anda, lalu melalui Module Manager, coba anda ubah / setting kembali parameter module yang telah anda modifikasi sebelumnya.

Lalu lihat hasilnya terhadap Joomla Site anda..
Sekarang Module dalam joomla site anda bisa menampilkan/memproses plugin sesuai yang anda inginkan.

Untuk mendalami perubahan syntax dalam module dari Joomla 1.0.X ke Joomla 1.5.X dari sini :

http://www.theartofjoomla.com/converting-old-extensions.html

Semoga Bermanfaat Cool
Comments
Search
Nice article...
jerrywijaya 2009-04-20 14:40:47

Nice article, thanks bro..
Nice article
ajiandi 2009-04-22 00:19:14

wah makasih mas artikelnya
sukeses selalu
maaf ini buat apan
Vanilla 2009-04-26 00:18:12

ini guna nya buat apaan ya?
kk tau ga cara setelah klik readmore di bawa nya
ada artikel terkaita atau other artikel gitu.. mohon pls...
bs bantu makan
siank la ^^
masih bingung
ewardana 2009-04-29 18:45:57

agak bingung Mas... ngikutin nya Mas... :cry
saya mau tambahin modul nya si TP
(mod_latestnewsplusdate) dengan plugin tooltip nya Youtool.. masih
error-error..

Mohon bantuannya...
bagus bos
arifino 2009-04-30 14:10:47

bagus bos ..tapi saya masih bingung kegunan dari Jfusion itu buat apa ya?cara
menggunakannya gmn
avatar
seno_abe 2009-12-01 15:08:23

NEWbe masih bingung neh,,? dimana kita nulis codinganyah..? jelasin
langkah awalnyah..? pleaseeee...?
Only registered users can write comments!

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

Last Updated on Wednesday, 10 June 2009 17:01  

JUG Indonesia

Id-joomla.com adalah situs resmi Joomla User Group (JUG) Indonesia dan Joomla Translation Team

Download Terjemahan Joomla terakreditasi dari JoomlaCode dan laporkan bugs, ide dan saran nya di Sub Forum Hanacaraka

Login

Web
ID-Joomla
Banner
Banner
Banner
Dengarkan siaran radio ID-Joomla   Chatroom ID-Joomla   Facebook Page ID-Joomla
We have 421 guests and 6 members online
Joomla! is the trademark of Open Source Matters, Inc in the United States and other countries. The Joomla! name is used under a limited license granted by Open Source Matters.
Id-joomla.com is not affiliated with or endorsed by Open Source Matters or the Joomla! Project