Professional Documents
Culture Documents
Oleh : Garry B.
# Prologue
Joomla terkenal sebagai salah satu platform Content Management System (CMS)
untuk mempublikasi ke World Wide Web ataupun dalam intranet. Tetapi selain
terkenal sebagai CMS, sebenarnya dia juga terkenal sebagai framework Model-
view-controller (MVC) Web Application Development. Diktat ini akan meringkas
mengenai pembuatan Component untuk Joomla dengan menggunakan Joomla-
Framework. Versi yang dipakai sekarang adalah Joomla! 1.5. Tetapi seharusnya
juga masih tetap sama strukturnya di versi 1.6 (tapi entahlah, saya belum
mencobanya di versi itu)
Berikut ini merupakan tiga utama dari Joomla MVC(oleh karenanya mungkin akan
berbeda dengan MVC framework lain).
Model
• Model merupakan bagian dari komponen yang berhubungan dengan data.
• Model biasanya berupa class yang berfungsi mengambil, menambah,
mengubah dan menghapus informasi dalam database.
• Model lah yang biasanya berhubungan dengan data. Makanya kalau
misalnya sistem kita berganti dari sistem penyimpanan berbasis file ke
penyimpanan berbasis database, kita hanya perlu mengganti coding model,
tanpa perlu ubah controller ataupun view.
View
• View merupakan bagian dari komponen yang berfungsi me-render data dari
model sehingga sesuai untuk interaksi.
• Untuk aplikasi berbasis web, umumnya view akan berupa halaman HTML.
• View yang akan menarik data dari model (sebetulnya ditarik di Controller
kemudian dilempar ke View) dan memberikan data ke template (template
yang akan ditampilkan ke user)
• View tidak pernah mengubah data, hanya menampilkan data yang diambil
dari model.
Controller
• Controller bertanggung jawab atas kegiatan user. Khusus di aplikasi web
maka berupa page request (misalnya $_POST ataupun $_GET).
• Controller menentukan request apa yang diminta user dan meresponnya
dengan memicu model untuk mengubah data dan mengirim model ke view
supaya view mampu menampilkan data.
Kita akan membuat sebuah component bernama datadiri. Component ini untuk
menampilkan biodata orang yang tersimpan dalam database. Berikut ini
merupakan file yang harus dibuat:
• com_datadiri/datadiri.php – Inilah entry point untuk menuju component
• com_datadiri/controller.php – ini merupakan file dasar controller.
• com_datadiri/views/biodatas/view.html.php – File ini menarik data yang
dianggap penting kemudian melemparnya ke template.
• com_datadiri/views/biodatas/tmpl/default.php – Inilah file template yang
merupakan output.
• datadiri.xml – XML ini yang menentukan bagaimana Joomla menginstall
component kita.
Yang harus diketahui:
Nama entry point harus sama dengan nama component.
Underscore memiliki makna khusus dalam Joomla, sehingga hindari
penggunaan underscore dalam nama.
# Pembuatan View
Berikut contoh coding (com_datadiri/views/biodatas/view.html.php) :
<?php
defined ('_JEXEC') or die ('Restricted Accessed');
jimport ('joomla.application.component.view');
$this->assignRef('biodatas', $biodatas);
# Membuat Template
Template/layout Joomla merupakan file PHP biasa yang digunakan untuk
menampilkan data dari View.
Variabel yang diset JView::assignRef dapat diakses dengan menggunakan
$this->{namaproperty}.
Berikut contoh coding :
<?php
defined ('_JEXEC') or die ('Restricted Accessed');
?>
# Prologue
Yang dipaparkan dalam diktat masih hanya konsep dasar MVC dengan
menggunakan Joomla dan diterapkan pada Site(halaman front-end, yang dilihat
pengunjung). Kalau misalnya ingin menggunakannya pada Administrator
(halaman back-end, bagian admin) sebetulnya sama saja, dengan catatan folder
component-nya diletakkan dalam folder administrator