Masino Sinaga

Web Development and PHPMaker

Anda di sini: Beranda / PHPMaker / Mudahnya Memindahkan Item Menu di Aplikasi Web dari PHPMaker
Mudahnya Mengubah Link Hapus di Halaman View Aplikasi Web dari PHPMaker
Mudahnya Mengisi Data Otomatis ke Form Tambah di Aplikasi Web dari PHPMaker

Mudahnya Memindahkan Item Menu di Aplikasi Web dari PHPMaker

Kam, 12 Maret 2015 oleh Masino Sinaga 3 Komentar

Seperti yang sudah kita ketahui, Aplikasi Web yang dibangun dengan PHPMaker memiliki banyak sekali fitur yang tingkat fleksibilitasnya sangat tinggi, serta dapat diatur dengan sangat mudah dan cepat dari dalam project PHPMaker. Salah satu fitur itu adalah Item Menu, yang ketika di-render atau ditampilkan kode HTML-nya ke browser Pengguna, dapat dikostumais oleh Web Developer.

Kali ini kita akan membahas bagaimana mudah dan cepatnya memindahkan dua Item Menu Change Password dan Logout ke dalam Item Menu tertentu yang bertindak sebagai Root Menu. Tentu timbul pertanyaan: Mengapa kedua Item Menu tadi harus dipindahkan?

Jawabannya, karena kedua Item Menu tersebut selama ini secara standar selalu berperan sebagai Root Menu. Hal ini menyebabkan banyaknya ruang yang terpakai di Menu bar, khususnya jika tipe menu yang digunakan adalah Horizontal, dan jumlah Item Menu yang berada di Root Menu relatif banyak.

Nah, oleh karena itu, kita harus memindahkan kedua Item Menu ini ke bawah Item Root Menu tertentu. Dengan kata lain, kedua Item Menu tadi setelah dipindahkan akan berubah menjadi Item Sub-Menu, dan Root Menu tempat yang baru tadi akan berperan sebagai Parent Menu dari kedua Item Sub-Menu tadi.

Supaya lebih mudah dipahami, mari kita ambil contoh berikut. Katakanlah di Aplikasi Web yang kita bangun dengan PHPMaker sudah tersedia Item Root Menu yang bernama Pengaturan. Root Menu ini memiliki nilai Id Menu = 139. Kita akan memindahkan kedua Item Menu Change Password dan Logout tadi ke bawah Item Root Menu Pengaturan tersebut.

Solusinya sangatlah sederhana. Pertama, kita harus menyembunyikan terlebih dulu Item Menu tersebut menggunakan server event MenuItem_Adding. Kedua, kita menambahkan Item Menu yang baru dan menentukan Parent Menu-nya ke Item Menu yang kita inginkan dengan menggunakan server event Menu_Rendering.

Penjabaran solusi di atas adalah sebagai berikut. Langkah Pertama, kita menambahkan kode PHP berikut ke dalam server event MenuItem_Adding yang berada di bawah bagian Server Events -> Global -> All Pages pada project PHPMaker kita, sehingga kode selengkapnya menjadi seperti berikut:

function MenuItem_Adding(&$Item) {
	//var_dump($Item);
	// Return FALSE if menu item not allowed
	if ( ($Item->Id== -1 && IsLoggedIn()) || $Item->Id == -2) {
		return FALSE;
	}
}

Perhatikanlah kode barusan. Kita memerika jika nilai property Id milik object Item sama dengan -1 (Item Menu Logout) atau -2 (Item Menu Change Password), maka sembunyikan dengan cara mengembalikan nilai FALSE.

Khusus untuk Id Menu -1, kita menambahkan pemeriksaan apakah Pengguna sudah login dengan menggunakan fungsi global IsLoggedIn(), yang artinya hanya berlaku untuk Item Menu Logout. Hal ini perlu karena Id Menu -1 juga digunakan untuk link Login untuk menampilkan form Login.

Langkah Kedua, kita menambahkan dua Item Menu yang baru tersebut dengan menambahkan kode PHP berikut ke dalam server event Menu_Rendering (yang posisinya sejajar dengan server event MenuItem_Adding di atas tadi), sehingga kode selengkapnya menjadi seperti ini:

function Menu_Rendering(&$Menu) {
	// Change menu items here
	if ($Menu->IsRoot) { // Root menu
		$Menu->AddMenuItem(10001, "mi_changepwd", '<i class="glyphicon glyphicon-refresh"></i> ' . Language()->Phrase("ChangePwd"), "changepwd.php", 139, "", IsLoggedIn() && !IsSysAdmin());
		$Menu->AddMenuItem(10002, "mi_logout", '<i class="glyphicon glyphicon-log-out"></i> ' . Language()->Phrase("Logout"), "logout.php", 139, "", IsLoggedIn());
		}
}

Perhatikanlah kode di server event Menu_Rendering ini. Kita menambahkan kedua Item Menu (yang sebelumnya sudah disembunyikan di atas tadi) dengan menggunakan method AddMenuItem milik object Menu. Dalam contoh ini, masing-masing Id Menu menggunakan nilai 10001 dan 10002. Sengaja menggunakan nilai Id yang relatif besar, dengan asumsi kedua Id tersebut tidak akan bentrok dengan Id Menu yang dihasilkan dari Menu Editor PHPMaker.

Perhatikanlah juga nilai pada parameter kelima dari method AddMenuItem tadi, yaitu 139. Itu artinya, kita menempatkan kedua Item Menu yang baru tadi ke bawah Item Menu yang memiliki Id Menu 139 yang dalam hal ini memiliki Teks Pengaturan.

Betapa mudah dan cepatnya, bukan? Bayangkan, cukup dengan menambahkan sedikit kode itu saja dan dilakukan dari dalam project PHPMaker (tidak perlu memodifikasi file script PHP-nya), maka kita dapat memindahkan Item Menu tertentu ke bawah Item Menu yang kita inginkan.

Bandingkan dengan jika Anda melakukannya dengan metode pengembangan manual yang sampai sekarang masih Anda lakukan, hehehe… PHPMaker, gitu lho! 😀

Ditempatkan di bawah: PHPMaker Ditag dengan:item menu, menu, Menu_Rendering, MenuItem_Adding, PHPMaker Indonesia, posisi menu, Server Events, Tutorial PHPMaker

Masino Sinaga

Web Developer pengguna PHPMaker untuk membangun Aplikasi Web sejak tahun 2004. Sampai sekarang masih aktif dan rajin membagikan pengalamannya menggunakan PHPMaker melalui situs masinosinaga.com dan ilovephpmaker.com.

Mudahnya Mengubah Link Hapus di Halaman View Aplikasi Web dari PHPMaker
Mudahnya Mengisi Data Otomatis ke Form Tambah di Aplikasi Web dari PHPMaker

Komentar

  1. indra Dwi Budi Rahadian mengatakan

    Sab, 7 Januari 2017 pada 6:53 pm

    Halo Mas Masino, maaf mas klo untuk mengetahui menu item ID nya dimana ?

    Balas
    • Masino Sinaga mengatakan

      Sen, 9 Januari 2017 pada 8:23 am

      Di file ewmenu.php yang sudah di-generate oleh PHPMaker.

      Balas
  2. Art mengatakan

    Kam, 22 Februari 2018 pada 9:38 pm

    masIno, kalau mau menyembunyikan menu yg digenerate oleh php maker gmna, jadi diharapkan menu itu cuma muncul saat Admin dan Loket yg login.

    Balas

Tinggalkan Balasan Batalkan balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.

Pos-pos Terbaru

  • Begini Mudahnya Mengubah Lebar Modal Dialog di PHPMaker 2022
  • Item Menu Tetap Aktif Meskipun Sedang Menampilkan Halaman Tambah, Ubah, Tampilkan, Cari di PHPMaker 2022
  • Hati-Hati Memilih Versi PHP Sebelum Generate Code di PHPMaker 2022
  • Alasan AlwaysUseEnglishUSLocale Sebaiknya Aktif di Masino Extensions untuk PHPMaker 2022
  • MasinoInputMask18 Extension, Autoformat Angka dengan Fitur Lebih Kaya di PHPMaker 2022

Menu

  • Siapa Saya?
  • Web Development
  • PHPMaker
  • Umum
  • Syarat dan Ketentuan
  • Sitemap (Peta Situs)
  • Komentar

Komentar Terbaru

  • Masino Sinaga pada Project Stock Inventory untuk PHPMaker 2022 Sekarang Sudah Bisa Didownload
  • Stanislaus Ariyanto pada Project Stock Inventory untuk PHPMaker 2022 Sekarang Sudah Bisa Didownload
  • Masino Sinaga pada Mudahnya Mendapatkan Info Pengguna Setelah Login di Aplikasi Web dari PHPMaker
  • irwan pada Mudahnya Mendapatkan Info Pengguna Setelah Login di Aplikasi Web dari PHPMaker
  • Masino Sinaga pada Ini Dia Fitur-Fitur yang Terdapat di Masino Extensions untuk PHPMaker 2022

Situs Terkait

  1. I Love PHPMaker
  2. Situs Resmi PHPMaker
  3. Forum Diskusi PHPMaker
  4. PHPMaker di IlmuKomputer.com
  5. PHPMaker Learning

Baru di PHPMaker?

Baca ini terlebih dulu ...

  1. Ayo Menjadi Web Developer yang Cerdas!
  2. PHPMaker: PHP Code Generator + PHP Framework
  3. Pertanyaan-Pertanyaan yang Paling Sering Diajukan Seputar PHPMaker
  4. Tips buat Anda Pemula yang Baru Mengenal dan Menggunakan PHPMaker
  5. Bacalah Help, Bacalah Help, dan Bacalah Help di PHPMaker!

(c) Masino Sinaga 2009 - 2021 | WordPress | Catat masuk | Kembali ke atas