Skip to main content

Cara Membuat Module Joomla Bagian 1.

Membuat  Modul  Popular Pada CMS Joomla.
Sekarang kita akan coba membuat modul pada situs joomla. Kali ini kita akan mencoba membuat modul popular atau artikel popular pada situs joomla. Persyaratan Utama adalah sedikit pemahaman tentang HTMl dan mengerti dadar – dasar pemograman dengan PHP.
Seperti kita ketahui untuk cms joomla versi 1.5.20 keatas tidak menyertakan modul populer pada bawaan cmsnya. Sekarang mari kita buat sendiri modul ini. Modul ini digunakan untuk menampilkan artikel – artikel yang paling sering dibaca.
Langkahnya mudah saja.
Step 1.
Buat sebuah folder dengan nama mod_populer
Buat sebuah file php dengan nama mod_populer.php dalam direktori mod_populer dan tuliskan script dibawah ini didalam file tersebut.
<?
/*ini untuk menyembunyikan akses langsung ke file ini melalui browser*/
defined( '_JEXEC' ) or die( 'Restricted access' );
/*mengambil data base conten*/
$db =& JFactory::getDBO();
$query = 'SELECT a.hits, a.id, a.sectionid, a.title, a.created, u.name'
. ' FROM #__content AS a'
. ' LEFT JOIN #__users AS u ON u.id=a.created_by'
. ' WHERE a.state <> -2'
. ' ORDER BY hits DESC';
/*menentukan limit atau jummlah yang akan di tampilkan*/
$db->setQuery( $query, 0, 5 );
$rows = $db->loadObjectList();
?>
<!-- menampilkan list artikel - artikel dalam bentuk list -->
<table class="adminlist">
<?php
foreach ($rows as $row)
{
    $link = 'index.php?option=com_content&amp;task=view=article&id='. $row->id;
    ?>
    <tr>
        <td>
            <ul>
            <li><a href="<?php echo $link; ?>"><?php echo htmlspecialchars($row->title, ENT_QUOTES, 'UTF-8');?></a>
            </li>
            </ul>
        </td>
    </tr>
    <?php
}
?>
</table>
Berikut Penjelasan script di atas
defined( '_JEXEC' ) or die( 'Restricted access' );
Ini merupakan sintak untuk menghindari akses dari browser
$db =& JFactory::getDBO();
$query = 'SELECT a.hits, a.id, a.sectionid, a.title, a.created, u.name'
. ' FROM #__content AS a'
. ' LEFT JOIN #__users AS u ON u.id=a.created_by'
. ' WHERE a.state <> -2'
. ' ORDER BY hits DESC';
ini merupakan Sintak untuk memilih database conten pada database joomla.

$db->setQuery( $query, 0, 5 );
$rows = $db->loadObjectList();
Disini kita menentukan limit atau jumlah list yang akan ditampilkan. Angka 5 diatas saya buat agar di list ditampilkan lima artikel. Bisa diganti sesuai keinginan Anda.
<?php
foreach ($rows as $row)
{
$link = 'index.php?option=com_content&amp;task=view=article&id='. $row->id;
?>
<tr><td><ul>
<li><a href="<?php echo $link; ?>"><?php echo htmlspecialchars($row->title, ENT_QUOTES, 'UTF-8');?></a>
</li></ul></td></tr>
<?php
}
?>
Ini untuk menampilikan list Judul artikel terpopuler. Kita lihat nilai variabel $link adalah
$link=’ index.php?option=com_content&amp;task=view=article&id='. $row->id; ini membuat link ke artikel yang ditampilkan. Dan pada <a href="<?php echo $link; ?>"><?php echo htmlspecialchars($row->title, ENT_QUOTES, 'UTF-8');?></a> difungsikan untuk menampilkan judul – judul artikel yang akan ditampilkan.
Nah sekarang kita buat pula file Instalasinya buat sebuah file dengan format XML masih dalam folder mod_populer. Lalu namai file tersebut dengan sebutan module_populer.xml
Dan tuliskan Sintak dibawah dalam file tersebut

<?xml version="1.0" encoding="utf-8"?>
<install type="module">
    <name>Artikel Populer</name>
    <author>Rojiyan Ar</author>
    <creationDate>Agustus 2010</creationDate>
    <copyright>Copyright (C) 2010 call-69.blogspot.com</copyright>
    <license>tak punya lisensi he he he</license>
    <authorEmail>arx131@gmail.com</authorEmail>
    <authorUrl>call-69.blogspot.com</authorUrl>
    <version>hana versi</version>
    <description>Peu Galak kah?</description>
    <files>
        <filename module="mod_populer">mod_populer.php</filename>
    </files>
    <params>
        <param name="cache" type="list" default="0" label="Caching" description="Select whether to cache the content of this module">
            <option value="0">Tidak pernah</option>
          </param>
    </params>
</install>
Penjelasan.
<?xml version="1.0" encoding="utf-8"?> menunjukkan file XML


Yang berwarna hijau tua menunjukan kode bahwa file xml ini adalah untuk instalasi extension joomla.
Hijau Muda adalah keterangan dari pada odul itu sendiri
Kuning adalah file – file yang akan di extract dan di fungsikan.
Merah adalah parameter- parameter default untuk modul ini
yang dibawah sekali adalah tag penitip. Penulisan tag XML hampir sama persis dengan penulisan tag pada html.
Module ini bisa di kostumisasi dengan menambahkan beberapa fungsi lagi seperti untuk menampilkan sebagian dari artikel atau bahkan untuk menambahkan gambar. Tunggu tulisan lainnya mengenai cara membuat extension – extension joomla lainnya.

Comments

  1. boleh req ga? kalo bukan cuma list tapi ditampilkan gambar dari artikel. bisa ga?

    ReplyDelete
  2. wahh ini pas banget gan. .
    thanks gan. .

    ReplyDelete
  3. req lagi nie. gimana caranya bwt modul yang didalam file mod_populer.php ada file javascript yang digunakan untk memilih kategori tertentu,
    misalnya menggunakan combobox untuk menampilkan berita berdasarkan kategori dan sub kategorinya.
    makasih sebelumnya...

    turorialnya keren. sukses...

    ReplyDelete

Post a Comment

*jika Anda belum terdaftar di KoFa Style Blog, harap memilih profil Nama/URL sebelum memposting komentar.

Popular posts from this blog

Konsep dan Hirarki DNS

DNS adalah suatu bentuk database yang terdistribusi, dimana pengelolaan secara lokal terhadap suatu data akan segera diteruskan ke seluruh jaringan (internet) dengan menggunakan skema client-server. Suatu program yang dinamakan name server, mengandung semua segmen informasi dari database dan juga merupakan resolver bagi client-client yang berhubungan ataupun menggunakannya. Struktur dari database DNS bisa diibaratkan dengan dengan struktur file dari sebuah sistem operasi UNIX. Seluruh database digambarkan sebagai sebuah struktur terbalik dari sebuah pohon (tree) dimana pada puncaknya disebut dengan root node. Pada setiap node dalam tree tersebut mempunyai keterangan (label) misalnya, .org, .com, .edu, .net, .id dan lain-lainnya, sampel penggunaan pada  www.aceh-id.com yang relatif rerhadap puncaknya (parent).Ini bisa diibaratkan dengan relative pathname pada sistem file UNIX,seperti direktori bin, usr, var, etc dan lain sebagainya. Pada puncak root node dalam sebuah sistem DNS di

Cara Install Puppy Linux di USB

Hi All!!! Malam ini ada lattop mau di install ulang... Tapi sayangnya banyak data yang tersimpan di c:\ termasuk beberapa data proyek kecil - kecilan yang minggu depan mesti diserahkan sama vendor... huffff... pusing deh. Tapi saat menulis tulisan ini semua hampir teratasi. Ya!!! Puppy linux solusinya. Jadi biar lebih mermamfaat mending di tulis aja di blog kofa-style biar kalau Ada yang mampir seperti yang sedang membaca ini bisa dapat bantuan kalau tidak banyak ya barang sedikit saja. Oke kita mulai saja... Mengapa Puppy? jawabnya karena mudah dan ringan untuk keperluan system operasi bootable sekedar buat back up data dan memperbaiki error partisi pada windows XP.

Navigasi Halaman Blog dengan Javascript

Page Navigation atau Navigasi Halaman berfungsi untuk mempermudah para pengunjung untuk menjelajahi blog kita dengan melihat halaman per halaman. Bagi pengguna Wordpress, tentunya sudah tidak asing lagi dengan Page Navigasi seperti yang Anda lihat pada gambar disamping, karena biasanya template-template wordpress sudah menyediakan fasilitas ini. Bagi pengguna Blogspot, harus menambahkan sintak JavaScript dibawah ini. berikut cara-caranya: Login ke Blog Anda pilih Rancangan kemudian klik tab Edit HTML masukkan kode dibawah ini sebelum kode ]]></b:skin> .showpageNum a { color:#FFF;padding:4px 10px; margin:0 2px; text-decoration:none; -webkit-border-radius:2px;- moz-border-radius:2px; background:#848484 } .showpageOf { color:#222; margin:0 6px 0 0 } .showpageNum a:hover { background:#222; color:#FFF } .showpagePoint { color:#FFF; text-shadow:0 1px 2px #333; padding:4px 10px; margin:0 2px; -webkit-border-radius:2px; -moz-border-radius:2px; background:#222; text-de