Creating a simple module/Adding Form Fields/id: Difference between revisions
From Joomla! Documentation
No edit summary |
Updating to match new version of source page |
||
| Line 3: | Line 3: | ||
Bidang formulir memberikan keuntungan hebat dalam penyesuaian Joomla dan bagi modul ini adalah satu-satunya cara pengguna dapat mengubah modul sesuai kebutuhan website mereka. | Bidang formulir memberikan keuntungan hebat dalam penyesuaian Joomla dan bagi modul ini adalah satu-satunya cara pengguna dapat mengubah modul sesuai kebutuhan website mereka. | ||
<div class="mw-translate-fuzzy"> | |||
== Menambahkan Bidang Formulir ke modul == | == Menambahkan Bidang Formulir ke modul == | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
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 [[S:MyLanguage/SQL_form_field_type|Bidang Formulir SQL]]). | 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 [[S:MyLanguage/SQL_form_field_type|Bidang Formulir SQL]]). | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
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: | 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: | ||
</div> | |||
<source lang="xml"> | <source lang="xml"> | ||
| Line 21: | Line 27: | ||
</source> | </source> | ||
<div class="mw-translate-fuzzy"> | |||
Ini kemudian memilih bahasa-bahasa dari tabel database yang memungkinkan pengguna untuk dapat memilih salah satu diantaranya melalui elemen HTML ''select''. | Ini kemudian memilih bahasa-bahasa dari tabel database yang memungkinkan pengguna untuk dapat memilih salah satu diantaranya melalui elemen HTML ''select''. | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
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). | 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). | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
''Catatan:'' Parameter bidang formulir tersimpan untuk masing-masing modul di dalam tabel #__modules di bidang parameter sebagai string JSON tersandikan. | ''Catatan:'' Parameter bidang formulir tersimpan untuk masing-masing modul di dalam tabel #__modules di bidang parameter sebagai string JSON tersandikan. | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
Sekarang, mari kita tugaskan bidang formulirnya untuk melakukan sesuatu! | Sekarang, mari kita tugaskan bidang formulirnya untuk melakukan sesuatu! | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
Kita ke mod_helloworld.php dan dapatkan parameternya (catat bahwa anda '''tidak bisa''' mendapatkan parameter di dalam helper), lalu teruskan ke dalam fungsi helper. | Kita ke mod_helloworld.php dan dapatkan parameternya (catat bahwa anda '''tidak bisa''' mendapatkan parameter di dalam helper), lalu teruskan ke dalam fungsi helper. | ||
</div> | |||
<source lang="php"> | <source lang="php"> | ||
/** | /** | ||
* This retrieves the lang parameter we stored earlier. Note the second part | * This retrieves the lang parameter we stored earlier. Note the second part | ||
* which | * which assigns the default value of 1 if the parameter cannot be | ||
* retrieved for some reason | * retrieved for some reason. | ||
**/ | **/ | ||
$language = $params->get('lang', '1'); | $language = $params->get('lang', '1'); | ||
| Line 41: | Line 57: | ||
</source> | </source> | ||
<div class="mw-translate-fuzzy"> | |||
Sekarang, mari kita edit kueri database di dalam file helper sesuai dengan pilihan parameter yang kita buat. | Sekarang, mari kita edit kueri database di dalam file helper sesuai dengan pilihan parameter yang kita buat. | ||
</div> | |||
<source lang="php"> | <source lang="php"> | ||
// Obtain a database connection | // Obtain a database connection. | ||
$db = JFactory::getDbo(); | $db = JFactory::getDbo(); | ||
// Retrieve the shout | // Retrieve the shout. Note that we are now retrieving the id not the lang field. | ||
$query = $db->getQuery(true) | $query = $db->getQuery(true) | ||
->select($db->quoteName('hello')) | ->select($db->quoteName('hello')) | ||
| Line 55: | Line 73: | ||
// Load the row. | // Load the row. | ||
$result = $db->loadResult(); | $result = $db->loadResult(); | ||
// Return the Hello | // Return the Hello. | ||
return $result; | return $result; | ||
</source> | </source> | ||
<div class="mw-translate-fuzzy"> | |||
== Kesimpulan == | == 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. | 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. | ||
</div> | |||
<div class="row"> | <div class="row"> | ||
Latest revision as of 13:41, 1 April 2020
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.