Home Tutorial Membuat Custom Joomla Module (Part 4)
jerrywijaya
E-mail
Membuat Custom Joomla Module (Part 4)
Tutorial
Jerry Wijaya, Thursday, 29 May 2008 00:30

Bagi Anda yang belum membaca tutorial saya tentang Membuat Custom Joomla Module sebelumnya, ada baiknya Anda meluangkan waktu untuk membacanya terlebih dahulu sebelum membaca lebih lanjut tutorial saya kali ini. Jangan lupa untuk mempraktekkannya juga ya.. ;) Silakan baca tutorial-tutorial saya tersebut di Membuat Custom Joomla Module (Part 1) , Membuat Custom Joomla Module (Part 2) , dan Membuat Custom Joomla Module (Part 3).

Pada tutorial saya sebelumnya, saya telah menjelaskan tentang jenis-jenis parameter pada custom module yang ada di Joomla 1.0.x. Sekarang mari kita mencoba mengimplementasikannya.

Implementasi Jenis-Jenis Parameter pada Custom Module 

 

Seperti biasa, silakan buat dua file kosong, file pertama beri nama mod_modulketiga.xml dan file kedua beri nama mod_modulketiga.php.

Buka file mod_modulketiga.xml pada text editor Anda, dan ketikkan kode berikut ini.

<mosinstall type="module">
    <name>Module Ketiga</name>
    <creationDate>26 Mei 2008</creationDate>
    <author>Jerry Wijaya</author>
    <copyright>This template is released under the GNU/GPL License</copyright>
    <authorEmail> This e-mail address is being protected from spambots. You need JavaScript enabled to view it </authorEmail>
    <authorUrl>http://www.domainhostingmurah.com</authorUrl>
    <version>1.0</version>
    <description>Ini adalah module ketiga buatanku, kali ini aku akan mencoba implementasi jenis-jenis parameter yang ada pada custom module di joomla 1.0.x. Semoga berhasil!</description>
    <files>
        <filename module="mod_modulketiga">mod_modulketiga.php</filename>
    </files>
    <params>
        <param name="@spacer" type="spacer" default="" label="-- Text dan TextArea --" description="" />
        <param name="nama_anda" type="text" default="" label="Masukkan Nama Anda" description="Nama Anda akan tampil di module" />
        <param name="keterangan_singkat" type="textarea" default="" label="Keterangan Singkat" rows="5" cols="30" description="Silakan tuliskan keterangan singkat mengenai diri Anda di sini"/>

        <param name="@spacer" type="spacer" default="" label="-- Radio dan Drop Down List --" description="" />
        <param name="apakah_anda_suka_joomla" type="radio" default="1" label="Apakah Anda menyukai Joomla?" description="Pilih jawaban, apakah Anda menyukai Joomla atau tidak.">
            <option value="0">Tidak</option>
            <option value="1">Ya</option>
        </param>
        <param name="cms_lain_yang_anda_gunakan" type="list" default="0" label="CMS lain yang Anda gunakan"  description="Pilih CMS lain yang sering Anda gunakan">
            <option value="0">Tidak Ada Lagi</option>
            <option value="1">WordPress</option>
            <option value="2">Drupal</option>
            <option value="3">Mambo</option>
            <option value="4">PHPNuke</option>
            <option value="5">Lainnya</option>
        </param>

        <param name="@spacer" type="spacer" default="" label="-- Section dan Category --" description="" />
        <param name="id_section" type="mos_section" default="0" label="Pilih Section" description="Silakan pilih section yang diinginkan" />
        <param name="id_kategori1" type="mos_category" default="0" label="Pilih Kategori (Tanpa Scope)" description="Silakan pilih kategori di sini" />
        <param name="id_kategori2" type="mos_category" scope="1" default="0" label="Pilih Kategori (Scope Section 1)" description="Silakan pilih kategori di sini" />
        <param name="id_kategori3" type="mos_category" scope="com_newsfeeds" default="0" label="Pilih Kategori (Scope Section com_newsfeeds)" description="Silakan pilih kategori di sini" />

        <param name="@spacer" type="spacer" default="" label="-- List Menu, Gambar, dan File --" description="" />
        <param name="pilih_menu" type="mos_menu" default="" label="Pilih Menu" description="Pilih menu yang Anda inginkan" />
        <param name="pilih_gambar1" type="imagelist" directory="/images/stories" filter="" hide_default="1" default="" label="Silakan piih gambar (Hide Default)" description="Tentukan gambar yang Anda inginkan" />
        <param name="pilih_gambar2" type="imagelist" directory="/images/stories" filter="" hide_default="0" default="" label="Silakan piih gambar (Show Default)" description="Tentukan gambar yang Anda inginkan" />
        <param name="nama_file1" type="filelist" directory="/includes/" filter="" hide_default="1" default="" label="Silakan pilih file (Hide Default)" description="Tentukan file yang Anda inginkan" />
        <param name="nama_file2" type="filelist" directory="/includes/" filter="" hide_default="0" default="" label="Silakan pilih file (Show Default)" description="Tentukan file yang Anda inginkan" />
        <param name="nama_file3" type="filelist" directory="/includes/" filter="class" hide_default="1" default="" label="Silakan pilih file (Filter file yang memiliki kata 'class' pada namanya" description="Tentukan file yang Anda inginkan" />
    </params>
</mosinstall>



Simpan file tersebut.

Ingat, penamaan parameter harus unique, tidak boleh sama satu dengan yang lain. Jika ada dua atau lebih parameter yang memiliki nama yang sama, maka module akan error.

Sekarang, buka file mod_modulketiga.php dan ketikkan kode berikut ini.

<?php

//Module Ketiga, implementasi variasi tipe parameter pada custom module//
/**
* Module Ketiga
* @package Joomla
* @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* Joomla! is free software and parts of it may contain or be derived from the
* GNU General Public License or other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/
 
//Agar file module ini tidak bisa di akses secara langsung dari luar.
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );

//Mengambil nilai parameter nama_anda dan memasukkannya ke dalam variable $nama_anda
//Jika parameter nama_anda kosong, maka variable $nama_anda akan bernilai "Anda Belum Memasukkan Nama"
$nama_anda                                    = $params->get( 'nama_anda', 'Anda Belum Memasukkan Nama' );

$keterangan_singkat                    = $params->get( 'keterangan_singkat', 'Anda Belum Memasukkan Keterangan' );
$apakah_anda_suka_joomla        = $params->get( 'apakah_anda_suka_joomla', '1' );

//Jika variable $apakah_anda_suka_joomla bernilai 1/true, maka variable $menyukai_joomla akan bernilai "Ya"
//Jika sebaliknya maka akan bernilai "Tidak"
$menyukai_joomla                         = ($apakah_anda_suka_joomla)?"Ya":"Tidak";

$cms_lain_yang_anda_gunakan    = $params->get( 'cms_lain_yang_anda_gunakan', '0' );

//Array CMS yang digunakan
$array_CMS                                    = array("Tidak Ada Lagi", "WordPress", "Drupal", "Mambo", "PHPNuke", "Lainnya");

//Tampilan nama CMS yang digunakan berdasarkan nilai dari parameter $cms_lain_yang_anda_gunakan
$cms_yang_digunakan                    = $array_CMS[$cms_lain_yang_anda_gunakan];

$id_section                                    = $params->get( 'id_section', '0' );
$id_kategori1                                = $params->get( 'id_kategori1', '0' );
$id_kategori2                                = $params->get( 'id_kategori2', '0' );
$id_kategori3                                = $params->get( 'id_kategori3', '0' );
$pilih_menu                                    = $params->get( 'pilih_menu', '0' );
$pilih_gambar1                            = $params->get( 'pilih_gambar1', '' );
$pilih_gambar2                            = $params->get( 'pilih_gambar2', '' );
$nama_file1                                    = $params->get( 'nama_file1', '' );
$nama_file2                                    = $params->get( 'nama_file2', '' );
$nama_file3                                    = $params->get( 'nama_file3', '' );

echo "Nama Anda adalah: " . $nama_anda . "<br>";
echo "Keterangan: " . $keterangan_singkat . "<br>";
echo "Menyukai Joomla: " . $menyukai_joomla . "<br>";
echo "CMS lain yang digunakan: " . $cms_yang_digunakan . "<br>";

echo "ID Section: " . $id_section . "<br>";

echo "ID Kategori 1: " . $id_kategori1 . "<br>";
echo "ID Kategori 2: " . $id_kategori2 . "<br>";
echo "ID Kategori 3: " . $id_kategori3 . "<br>";

echo "Menu yang dipilih: " . $pilih_menu . "<br>";

echo "Gambar 1: " . $pilih_gambar1 . "<br>";
echo "Gambar 2: " . $pilih_gambar2 . "<br>";

echo "File 1: " . $nama_file1 . "<br>";
echo "File 2: " . $nama_file2 . "<br>";
echo "File 3: " . $nama_file3 . "<br>";

?>



Simpan file tersebut. Dan buatlah file installer baru dari kedua file tersebut dengan nama mod_modulketiga.zip, lalu installah pada web Joomla! Anda. Setelah sukses terinstall, aktifkan module mod_modulketiga, tentukan posisi module, dan isi parameter-parameter yang ada. Lihat hasilnya di halaman front end Anda.

 

Pada contoh di atas, module menampilkan ID dari category atau section yang terpilih. Bagaimana jika Anda ingin menampilkan nama section/category terpilih terpilih tersebut dan bukan menampilkan ID-nya? Untuk melakukan hal tersebut, Anda harus memasukkan query ke database untuk melihat nama dari category/section tersebut. Hal ini akan saya bahas pada tutorial saya berikutnya.

Selamat mencoba!

Comments
Search
ada tutorial buat component joomla
bedjo123 2008-06-20 09:27:51

tutorial buat komponen joomla donk..... igh
Terima kasih
ovan 2008-07-10 20:09:36

artikel yang sangat bermanfaat.
Saya juga menggunakan Joomla utk situs saya di
ovan.info (mhn maaf bila tdk blh menyrtakan url).

Akan saya coba tut ini utk
mempercantik tampilan situs saya.

terima kasih banyak.
Terima kasih
ovan 2008-07-10 20:12:20

artikel yang sangat bermanfaat.
Saya juga menggunakan Joomla utk situs saya di
ovan.info (mhn maaf bila tdk blh menyrtakan url).

Akan saya coba tut ini utk
mempercantik tampilan situs saya.

terima kasih banyak.
double post
kriwelz 2008-10-06 14:33:56

wah..double post tuh.. nyari PR ya mas naro link )
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 Thursday, 29 May 2008 00:38  

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
Dengarkan siaran radio ID-Joomla   Chatroom ID-Joomla   Facebook Page ID-Joomla
We have 925 guests and 2 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