Pembuatan Module Drupal Sederhana – 4 (Hook Form)

Kali ini saya akan sedikit membahas tentang hook form. Hook form adalah cara yang digunakan Drupal untuk membangun sebuah form. Cara pendeklarasiannya sedikit berbeda dengan HTML biasa. Pada Drupal, kita menggunakan struktur array untuk membangun sebuah form.
Langsung aja deh, kita buat sebuah halaman baru pada hook menu untuk menampilkan form guestbook

<?php
function guestbook_menu(){
  $items['guestbook/view'] = array(
	'title' => 'Guest Book',
	'description' => 'Create Guest Book',
	'page callback' => 'drupal_get_form',
	'page arguments' => array('guestbook_helloworld_form'),
	'access arguments' => array('access content'),
	'type' => MENU_CALLBACK,
		);
  return $items;
}

Sebelum melangkah ke cara deklarasi form, saya sedikit jelaskan beberapa point penting untuk code diatas:
1. ‘page callback’ => ‘drupal_get_form’, artinya kita memanggil halaman guestbook/view memanggil fungsi drupal_get_form dimana drupal_get_form adalah fungsi bawaan Drupal untuk mengenali struktur hook form dan menerjemahkan menjadi form HTML.

2. ‘page arguments’ => array(‘guestbook_helloworld_form’), artinya pada fungsi drupal_get_form, kita memanggil fungsi guestbook_helloworld_form yang berisi struktur form secara Drupal. Code ini bisa dibaca demikian: drupal_get_form(‘guestbook_helloworld_form’).

Jangan lupakah hal penting, setelah menambahkan atau mengubah hook_menu, lakukan clear cache Drupal (bukan clear cache Browser) melalui Configuration>>Performance>>Clear Cache, atau lewat url /admin/config/development/performance dan Clear Cache.
Nah berikutnya kita akan menulis code untuk menghasilkan form

<?php
function guestbook_menu(){
  $items['guestbook/view'] = array(
	'title' => 'Guest Book',
	'description' => 'Create Guest Book',
	'page callback' => 'drupal_get_form',
	'page arguments' => array('guestbook_helloworld_form'),
	'access arguments' => array('access content'),
	'type' => MENU_CALLBACK,
		);
  return $items;
}

function guestbook_helloworld_form($node, &amp;amp;$form_state, $item = array()){
	$form['name'] = array(
		'#type' => 'textfield',
		'#title' => t('NAME'),
		'#size' => 50,
		'#required' => TRUE,
	);
	$form['description'] = array(
		'#type' => 'textarea',
		'#title' => t('Short Description about yourself'),
	);
	$form['submit'] = array(
		'#type' => 'submit',
		'#value' => t('Save'),
	);
	return $form;
	}

Pada code diatas, kita akan menampilkan sebuah textfield bernama NAME, sebuah textarea bernama Short Description about yourself, dan sebuah button submit bernama Save.

Untuk penjelasan lebih lanjut tentang bagaimana cara membuat form dan input type yang lain beserta attribute-attribute yang digunakan secara Drupal, silahkan baca Drupal API

Sekarang kita panggil halaman /guestbook/view
maka akan muncul tampilan ini (jika benar :mrgreen:)

Guestbook View
Guestbook View
Berikutnya saya akan coba bahas CRUD guestbook dengan cara Drupal, semoga masih ada waktu luang lagi… :mrgreen:

Terimakasih banyak,
Salam,
Andrew Junior

2 Comment

  1. Awesome website you have here but I was wanting to know if you knew of any discussion
    boards that cover the same topics discussed in this article?
    I’d really love to be a part of community where I can get advice from other experienced individuals that share the same interest. If you have any recommendations, please let me know. Many thanks!

  2. pak ditunggu update an tutorialnya untuk drupal crud nya
    🙂

Tinggalkan Balasan