Tag Archives: custom module

Pt. 2: Membuat menu di custom module Drupal 6

24 Sep

Ada 5 (lima) tipe menu yang bisa dipakai ketika membuat menu pada custom module Drupal 6 dengan menggunakan hook_menu(), yaitu MENU_NORMAL_ITEM, MENU_CALLBACK, MENU_DEFAULT_LOCAL_TASK, MENU_LOCAL_TASK, dan MENU_SUGGESTED_ITEM. Masing-masing punya kegunaan sendiri-sendiri (lihat http://api.drupal.org/api/function/hook_menu/6 untuk penjelasan lebih lanjut). Kali ini saya coba membuat contoh untuk masing-masing menu tersebut. (more…)

Pt. 1: Membuat menu di custom module Drupal 6

24 Sep

Cara membuat menu di custom module Drupal versi 6 (asumsi nama module = ojat).


<?php

// pakai hook_menu()
function ojat_menu() {
// menuku adalah bagian dari URL untuk
// mengakses module -> e.g. http://localhost/menuku
$items['menuku'] = array(
// teks yang tampil di block navigasi
'title' => t('This is my menu'),
// page callback digunakan untuk memanggil fungsi dalam module
'page callback' => 'my_function',
// access arguments digunakan untuk membatasi siapa saja yang dapat mengakses menu ini
'access arguments' => array('view ojat'),
// type, MENU_NORMAL_ITEM, menu standar yang tampil di block navigasi
'type' => MENU_NORMAL_ITEM
);

$items['menu-lainnya'] = array(
'title' => t('This is my other menu'),
'page callback' => 'my_another_function',
'access arguments' => array('view ojat'),
'type' => MENU_NORMAL_ITEM
);

return $items;
}

// array of permissions
function ojat_perm() {
return array('view ojat', 'administer ojat');
}

// fungsi dalam module
function my_function() {
return t('Hello from my_function');
}

Simpan, lalu aktifkan module.

aktifkan module

Hasilnya bisa dilihat di screen shot berikut.

menu

3

Terkadang kita ingin membuat nested menu, misalnya dengan hirarki sebagai berikut:

|- top-menu
|—- menu-1
|—- menu-2
|—- —- child-of-menu-2
|—- menu-3

Nah, caranya mudah, cukup dengan mengatur key pada variable menu. Pada contoh diatas, bisa dituliskan sebagai berikut:

...

$items['top-menu'] = array(...);
$items['top-menu/menu-1'] = array(...);
$items['top-menu/menu-2'] = array(...);
$items['top-menu/menu-2/child-of-menu-2'] = array(...);

...

Referensi: http://api.drupal.org/api/function/hook_menu/6

Salam dari newbie :)