Joomla Indonesia

Login or Sign Up
Sign In or Register
Avatar
Not Registered Yet?

Join Now! It's FREE. Get full access and benefit from this site

Reset My password - Remind Me My username

Username
Password
Remember me
  • Home
    Home This is where you can find all the blog posts throughout the site.
  • Categories
    Categories Displays a list of categories from this blog.
  • Tags
    Tags Displays a list of tags that have been used in the blog.
  • Bloggers
    Bloggers Search for your favorite blogger from this site.
  • Team Blogs
    Team Blogs Find your favorite team blogs here.
  • Login
    Login Login form

Fully Loaded Plugin di dalam Module Joomla

Posted by on in Tutorial
  • Font size: Larger Smaller
  • Hits: 7854
  • 7 Comments
  • Subscribe to this entry
  • Print
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
0

People in this conversation

  • Guest - jerrywijaya

    Nice article, thanks bro.. :)

    0 Like Short URL:
  • Guest - ajiandi

    wah makasih mas artikelnya
    sukeses selalu

    0 Like Short URL:
  • Guest - Vanilla

    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 ^^

    0 Like Short URL:
  • Guest - ewardana

    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...

    0 Like Short URL:
  • Guest - arifino

    bagus bos ..tapi saya masih bingung kegunan dari Jfusion itu buat apa ya?cara menggunakannya gmn

    0 Like Short URL:
  • :pinch: :X NEWbe masih bingung neh,,? dimana kita nulis codinganyah..? jelasin langkah awalnyah..? pleaseeee...?

    0 Like Short URL:
  • Guest - taufik

    Warning: imagejpeg() [function.imagejpeg]: Unable to open '/home/ptscicom/public_html/images/resized/images/stories/slide_type/produk_30_14.jpg'
    for writing: No such file or directory in /home/ptscicom/public_html/modules/mod_jabulletin/helper.php on line 322



    permisi.,
    minta bantuannya neh untuk para master joomla.., knapa halaman depan muncul error seperti ini...
    maklum om ane baru untuk joomla...,

    Warning: imagejpeg() [function.imagejpeg]: Unable to open '/home/xxx/public_html/images/resized/images/stories/slide_type/produk_30_14.jpg'
    for writing: No such file or directory in /home/xxx/public_html/modules/mod_jabulletin/helper.php on line 322

    mohon bantuannya ya para om pakar joomla.., kasih solusi.ya bisa ke email saya taufikhidayat095@gmail.com.
    trimakasih atas perhatiannya...

    0 Like Short URL:

Kategori Blog

Joomla User Group Indonesia

Joomla User Group 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

Socials

twitter id joomlafb idjoomla