Module Drupal yang banyak tersedia, pasti configurable (bisa dikonfigurasi). Ini akan mempermudah kita dalam maintenance, karena tidak perlu mengedit kodenya. Contoh dalam tutorial ini merujuk pada kode yang tersedia di artikel Block untuk Menampilkan Artikel dan Penulis Populer.
Dalam artikel tersebut, kita ingin membuat halaman konfigurasi module sederhana (di Drupal, ini namanya halaman Admin), yaitu memilih berapa jumlah item yang akan ditampilkan dalam block. Ada 3 langkah yang diperlukan.
1. Mendefinisikan variabel yang akan ditampilkan di halaman konfigurasi/admin
Langkah pertama, caranya tidak berbeda dengan mendefinisikan Form. Pastikan nama function-nya menggunakan suffix/akhiran "_admin", dalam kasus kita, nama function-nya adalah dqs_populer_admin().
Tentukanlah nama variabel yang akan dikonfigurasi, sebaiknya menggunakan prefix nama module. Dalam contoh ini, kita membuat variabel dqs_populer_limit, yang dipilih dengan menggunakan list box. Contoh kodenya:
$form['dqs_populer_limit'] = array(
'#type' => 'select',
'#title' => 'Jumlah Item',
'#default_value' => variable_get('dqs_populer_limit', 10),
'#options' => array(5=>5, 10=>10, 15=>15, 20=>20, 25=>25, 30=>30),
'#description' => 'Jumlah item yang akan ditampilkan dalam block.'
);
Pastikan function _admin ini diakhiri dengan:
return system_settings_form($form);
2. Mendefinisikan dispatcher yang akan tampil halaman Administer
Tidak terlalu berbeda dengan mendefinisikan dispatcher lainnya, pastikan menggunakan path yang diawali dengan "admin/settings/". Perhatikan bahwa callback argument mengarah pada function yang sebelumnya kita buat pada poin 1. Contoh kodenya:
$items[] = array(
'path' => 'admin/settings/dqs_populer',
'title' => 'Konfigurasi dqs_populer',
'callback' => 'drupal_get_form',
'callback arguments' => 'dqs_populer_admin',
'access' => user_access('dqs_populer admin'),
'type' => MENU_NORMAL_ITEM
);
3. Mengakses variabel
Variabel yang sebelumnya kita definisikan pada poin 1 dapat kita akses dengan kode:
$limit = variable_get('dqs_populer_limit', 10);
Mudah sekali ya, disini kita tidak perlu pusing bagaimana Drupal menyimpan variabel konfigurasi tersebut. Jika variabel belum pernah tersimpan, maka otomatis akan menggunakan default value (10).
Oke selamat mencoba ya! Semoga bermanfaat.
