Thursday, January 6, 2011

Buat Komponen Joomla

Kali ini ku mau kasih tau caranya bikin komponen joomla. Kalo gak mau ku kasih tau ya udah gak papa. Oke, sebetulnya bikin komponen joomla tuh guampang banget, yang penting belajar dulu, yaiyalahhhh...... alias ngerti bahasa PHP slaen ntu dikit-dikit paham OOP an pake PHP. Ya udah langsung aja yah.

Langkah Pertama:
Tentukan kita mau buat komponen apa. Namanya apa. Misalnya komponen nyoba. Kita buat folder com_nyoba di folder nama_web/components. Habis ntu, bikin file kosong dulu. 2 loh, file nyoba.php dan juga file nyoba.html.php.

Oke begini, file nyoba.php adalah file daftar class ataupun fungsi. Sedangkan fungsi-fungsinya sendiri kita buat di file nyoba.html.php. Makanya, ku kan udah bilang, emang harus ngerti dikit-dikit tentang OOP.

Langkah Kedua:
Buka pada file nyoba.php. Kita isi dengan tulisan berikut:

defined( '_JEXEC' ) or die ( 'Restricted access' );
jimport('joomla.application.helper');
require_once(JApplicationHelper::getPath('html'));
jTable::addIncludePath(JPath_ADMINISTRATOR.DS.'components'.DS.$option.DS.'tables');

Jangan lupa awal dan akhir file dikasih <?php ?>.
Tuh maksud tulisan di atas apaan sih????? Aku sendiri aja ndak tau. Hehehe.... tapi menurut pandangan ples penalaranku ples naluri programmingku itu adalah sebuah include-an. Yang mana mengarah pada nyoba.html.php.

Kesimpulan: dari 2 file nyoba.php dan nyoba.html.php bisa dijadikan satu di file nyoba.php. TETAPI, hal tersebut akan mempersulit diri programmer karena jika fungsi-fungsi yang dimuntahkan dalam skrip banyak, kalo ada yang salah siap-siap aja pusing. Maka dari itu, lebih baik dijadikan 2 file.

Dari sini Anda masih bingung??? Atau sudah mengerti? Kita lanjutkan ke langkah ketiga.

Langkah Ketiga:
Masukkan tulisan di bawah ini ke file nyoba.html.php

defined( '_JEXEC' ) or die ( 'Restricted access' );
jimport('joomla.application.helper');
jTable::addIncludePath(JPath_ADMINISTRATOR.DS.'components'.DS.$option.DS.'tables');


Langkah Keempat (Lha ini mulai seru):
Buka file nyoba.php. tulis di bawah include-an.
Kita buat semacem perulangan switch-case.

switch($task)
{


case 'home':
nyoba::home($option);
break;

default:
nyoba::home($option);
break;
}

Pasti yang pinter udah ngerti maksudnya apa. Tapi yang belum ngerti (brarti belom pinter...) ku kasih tau.
Switch($task), dianggap sebagai link ke mana.....
Baru ada case. Jika kita pilih home langsung masuk ke class nyoba fungsi home. Nah begitu penjelasannya. Masih bingung???? Coba tanyakan saja pada rumput yang bergoyang….
Sedangkan isi atau programming dari class nyoba fungsi home kita urek-urek di file nyoba.html.php.

Langkah Kelima:
Kita buat skrip di file nyoba.html.php.
Kita tulis class dan fungsi di bawah include-an.

class nyoba
{
Function home()
{
Echo”hallo…..”;
}

}

Langkah Keenam (databasenya):
Buka phpmyadmin, buka database joomla, buka table components. Pilih insert.
Name --- nama komponen (nyoba)
Link --- linknya di web (option=com_nyoba)
Menuid --- 0
Parent --- 0
admin_menu_link --- option=com_nyoba
Admin_menu_alt --- Percobaan
Option --- com_nyoba
Ordering --- 0
Admin_menu_img --- js/ThemeOffice/edit.png
Iscore --- 0
Params ---
Enabled --- 1

Lha kenapa melakukan seperti itu pada database. Agar komponen yang dibuat didaftar dimasukkan di database pada joomla. Selanjutnya, untuk memanggil komponen. Kita menuju langkah ketujuh.

Langkah Ketujuh:
Masuk ke administrator joomla. Buat eksternal link. Buat Menu baru, Nyoba. Link nya kita isi dengan index.php?option=com_nyoba.
Lha coba klik Nyoba pasti muncul. Kalo gak muncul????? Anda kurang beruntung...
Mungkin cukup segini untuk pembuatan komponen joomla tingkat database alias kompleks dapat diliat artikel selanjutnya.

Semua perusahaan, orang, instansi berhak gak nerima ku kerja. Berhak ngasih bayaran kecil. Tapi, yang ndak boleh, kalo ada orang nanya sapa sih programmer terbaek? Jangan jawab namaku......

0 komentar:

Post a Comment

Thanks a lot for your attention...

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Best Web Hosting