Membuat modul sederhana/Menambahkan Bidang Formulir
From Joomla! Documentation
< J3.x:Creating a simple module
Ini adalah seri artikel mengenai cara membuat modul untuk Joomla! Versi . Anda dapat menelusuri artikel-artikel yang terdapat di dalam seri ini melalui menu dropdown.
Mulai dari Pendahuluan, lalu telusuri artikel-artikel di dalam seri ini melalui tombol navigasi di bagian bawah atau dari kotak di samping (Artikel dalam seri ini)
Bidang formulir memberikan keuntungan hebat dalam penyesuaian Joomla dan bagi modul ini adalah satu-satunya cara pengguna dapat mengubah modul sesuai kebutuhan website mereka.
Menambahkan Bidang Formulir ke modul
Dalam contoh ini, kita akan mengembangkan contoh sebelumnya yaitu di database dengan menyediakan daftar bahasa untuk dipilih oleh pengguna. Untuk melakukan ini, kita akan gunakan jenis bidang formulir SQL (rincian selengkapnya untuk ini bisa ditemukan di halaman dokumentasi Bidang Formulir SQL).
Pertama sekali, kita akan menambahkan bidang formulir ke dalam file xml. Masih ingat mengenai tag konfigurasi yang ditambahkan sebelumnya? Nah, sekarang di dalam tag tersebut kita akan tambahkan kode berikut:
<fields name="params">
<fieldset name="basic">
<field
name="lang"
type="sql"
default="1"
label="Select a language"
query="SELECT id AS value, lang FROM #__helloworld" />
</fieldset>
</fields>
Ini kemudian memilih bahasa-bahasa dari tabel database yang memungkinkan pengguna untuk dapat memilih salah satu diantaranya melalui elemen HTML select.
Jika anda sudah memasang modul seperti yang ada sekarang, anda akan melihat pada saat mengakses backend Joomla bahwa ada menu dropdown yang muncul (meskipun memilih sesuatu tidak berdampak apa pun ke modul saat ini).
Catatan: Parameter bidang formulir tersimpan untuk masing-masing modul di dalam tabel #__modules di bidang parameter sebagai string JSON tersandikan.
Sekarang, mari kita tugaskan bidang formulirnya untuk melakukan sesuatu!
Kita ke mod_helloworld.php dan dapatkan parameternya (catat bahwa anda tidak bisa mendapatkan parameter di dalam helper), lalu teruskan ke dalam fungsi helper.
/**
* This retrieves the lang parameter we stored earlier. Note the second part
* which assigns the default value of 1 if the parameter cannot be
* retrieved for some reason.
**/
$language = $params->get('lang', '1');
$hello = modHelloWorldHelper::getHello( $language );
Sekarang, mari kita edit kueri database di dalam file helper sesuai dengan pilihan parameter yang kita buat.
// Obtain a database connection.
$db = JFactory::getDbo();
// Retrieve the shout. Note that we are now retrieving the id not the lang field.
$query = $db->getQuery(true)
->select($db->quoteName('hello'))
->from($db->quoteName('#__helloworld'))
->where('id = '. $db->Quote($params));
// Prepare the query
$db->setQuery($query);
// Load the row.
$result = $db->loadResult();
// Return the Hello.
return $result;
Kesimpulan
Bidang formulir memberi kemudahan bagi pengguna untuk menyesuaikan modul sesuai kebutuhan website mereka. Ini memungkinkan cakupan modul untuk dapat ditingkatkan seperti untuk bagian bahasanya dan aplikasi.