Mengatasi error fungsi PHP & Javascript pada module Joomla.

Saat ini telah banyak sekali extension khususnya module yang bisa kita download dan langsung install pada website Joomla kita. Beberapa module tambahan yang kita install ke dalam joomla ada yang berjalan dengan baik, ada yang ternyata memiliki error / bug yang cukup bikin pusing kepala. Apalagi si pembuat module ternyata tidak menyertakan informasi up-to-date mengenai cara mengatasi error / bug pada module buatannya.

Nah, kali ini coba saya ulas cara mengatasi error / bug khususnya pada module gratis yang banyak di sediakan di http://extensions.joomla.org. Hal yang anda butuhkan adalah sedikit pengetahuan akan PHP script dan Javascript. Jadi untuk user biasa yang tidak punya pengetahuan tentang PHP script dan Javascript, akan bingung dengan "cara khusus" ini.

Men-trigger / memicu masalah / error yang muncul di Module.

Caranya sebenarnya cukup mudah yaitu melalui Backend Administrator Control Panel Joomla :
Install module yang ingin anda gunakan
Lalu dari Module Manager, aktifkan (enable / publish) module yang anda install. Jika di "Preview" ternyata tidak ada masalah
Coba anda lakukan duplikasi / Copy module tersebut, lalu setting dan aktifkan module hasil Copy-nya. Jika ternyata saat Preview muncul error atau modulenya tidak berjalan, maka anda telah berhasil men-trigger error-nya.
Mengatasi masalah / error yang muncul (Core Fixed).

Cara ini saya sebut "core fixed" karena kita akan melakukan proses perbaikan melalui editing langsung module-nya.
A. Error pada PHP script / function di dalam module.

Langkah-langkahnya :
Biasanya installasi module itu dalam format file .ZIP, jadi kita harus meng-extract seluruh isi file zip-nya ke dalam misalnya harddisk kita atau gampangnya ke Desktop.
Saat meng-extract pastikan opsi "Using foldername" diaktifkan
Langkah selanjutnya adalah, gunakan text editor seperti Macromedia Dreamweaver untuk mengedit file .php hasil extract dari zip yang tadi.
Buka / open file php yang biasanya di awali dengan namafile "mod_******.php", contohnya : mod_latestnews.php
Jika file php tersebut telah di load dalam editor Dreamweaver, cari / find / search fungsi php buatan, formatnya seperti ini :

function [fname]([dengan / tanpa parameter]) { isi fungsi dalam php script ; isi fungsi dalam php script ; isi fungsi dalam php script ; ....... }
Jika funsi php buatan itu tidak anda temukan, coba cari / find / search syntax ini :

include("[nama folder]/namafile.php");
atau

include_once("[nama folder]/namafile.php");
atau

require_once("[nama folder]/namafile.php");
jika ditemukan maka arahkan kursor mouse ke namafile-nya, klik sekali lalu tekan Ctrl+D untuk me-load / open file php-nya. Maka anda akan melihat isi file php-nya dengan format seperti di langkah ke-5 di atas.
Sekarang, untuk "membersihkan" error dari fungsi php-nya caranya mudah, cukup tambahkan syntax php seperti berikut ini :

if (function_exists("[fname]")==false) { // TAMBAHAN KITA UTK FIXED ERROR function [fname] ([dengan / tanpa parameter]) { // FUNGSI ASLI DARI MODULE-NYA isi fungsi dalam php script ; isi fungsi dalam php script ; isi fungsi dalam php script ; ....... } } // TAMBAHAN KITA UTK FIXED ERROR
Simpan semua hasil perubahan yang kita lakukan, lalu upload ke website joomla kita. Cek kembali "preview" website-nya. Jika ternyata module & duplikasinya berjalan dengan baik artinya anda telah berhasil mengatasi / membersihkan error / bug-nya.
B. Error di Javascript function dalam module.

Cara ini sebenarnya mirip dengan cara di atas, hanya perlu tambahan php script sedikit.
Langkah-langkahnya :
Cari / find / search syntax javascript seperti ini :

function [fname]([dengan / tanpa parameter]) { isi fungsi dalam javascript; isi fungsi dalam javascript; isi fungsi dalam javascript; ..... }
Untuk membersihkan error-nya, tambahkan syntax php seperti berikut ini :

atau dalam syntax seperti ini :

function [fname]([dengan / tanpa parameter]) { isi fungsi dalam javascript; isi fungsi dalam javascript; isi fungsi dalam javascript; ..... }
Simpan semua perubahan yang kita lakukan, lalu upload kembali file-filenya kedalam website Joomla kita. Cek kembali preview website joomlanya. Jika error modulenya telah hilang, artinya kita telah berhasil mengatasi error pada Javascript di modulenya.

Prinsip perbaikan error ini adalah : Mencegah duplikasi fungsi / function dalam php script dan javascript terjadi dalam module, terutama jika modulenya di Copy / duplikasi melalui Module Manager. Artinya fungsi / function itu hanya boleh di deklarasikan satu kali, tapi bisa dipanggil / digunakan berkali-kali. Hal inilah yang sering dilupakan oleh para pembuat module gratis untuk joomla.

Khusus untuk Javascript, problem atau error juga terjadi jika module-nya menggunakan trik menulis langsung ke bagian

<div id="[namaunik]">
melalui Javascript. Problemnya akan muncul saat kita melakukan duplikasi / Copy module dari Module Manager, maka akan ada dua div tag yang memiliki id yang sama. Akibatnya Javascriptnya error atau tidak jalan dengan baik.


Cara mengatasi / menghindari penamaan id yang sama dari
tag ini sebenarnya sangat mudah, yaitu menggunakan bantuan variable (built-in) joomla, yaitu :

$module->id
Mengapa menggunakan variable $module->id ?? karena sifatnya unik atau hanya memiliki satu nilai tunggal untuk setiap module maupun duplikasi module-nya. Variable $module->id ini tidak pernah akan sama nilainya pada setiap module.


Nah, penggunaannya pada div tag itu mudah saja, contohnya :
<div id="div_akuid">
isi dari div tag
</div>

Jangan lupa saat menulis ke div tag melalui Javascript penamaan id-nya mengikuti format di atas.
NB : Contoh implementasi "membersihkan" error ini bisa dilihat di :
http://forum.joomla.org/viewtopic.php?f=40&t=356906
(kebetulan saya buat dalam versi bahasa Inggris / english version).

0 komentar:

Posting Komentar

BErIkAn LaCh KoMeNtAr YsNg SePaNtAsX y0oW.,.,