Masino Sinaga

Web Development and PHPMaker

Anda di sini: Beranda / PHPMaker / Mudahnya Menyembunyikan Item Menu Aplikasi Web dari PHPMaker
Betapa Mudahnya Memanipulasi Menu Aplikasi Web dari PHPMaker
Membuat Koneksi Database yang Fleksibel di PHPMaker

Mudahnya Menyembunyikan Item Menu Aplikasi Web dari PHPMaker

Jum, 16 Mei 2014 oleh Masino Sinaga 9 Komentar

Bukan PHPMaker namanya jika lagi-lagi tidak memberikan kemudahan dan fleksibilitas yang sangat tinggi kepada Web Developer. Tidak ada habis-habisnya keuntungan yang bisa kita dapatkan dengan menggunakan PHPMaker sebagai tools untuk membangun Aplikasi Web. Setiap hari ada saja fitur-fitur yang bisa kita eksplorasi darinya, sama dengan artikel mengenai PHPMaker yang setiap hari saya tulis dan publikasikan di situs ini. Salah satu fitur hebat lainnya di PHPMaker adalah kemampuan untuk menyembunyikan item menu pada saat Aplikasi Web dijalankan.

Kali ini mari kita membahas bagaimana PHPMaker dapat membantu Web Developer menyembunyikan item menu tertentu di Aplikasi Web yang di-generate olehnya. Fitur ini sering sekali diimplementasikan di sebuah Aplikasi Web, karena tidak semua item menu bisa dilihat/diakses oleh semua Pengguna. Sering kali item menu tertentu harus disembunyikan untuk Pengguna dengan level akses tertentu. Tidak ada jalan lain kecuali dengan menerapkan business-logic yang dinamis mengikuti kebutuhan di Aplikasi Web tersebut.

PHPMaker telah menyediakan server event yang bernama MenuItem_Adding untuk menyembunyikan item menu tertentu dengan sangat mudah. Event ini dijalankan setiap kali sebuah item menu sedang ditambahkan ke bagian Menu pada Aplikasi Web yang dihasilkan oleh PHPMaker. Informasi item menu dilewatkan ke event ini sebagai sebuah instansiasi dari object cMenuItem. Perlu diingat juga bahwa event ini sifatnya global. Artinya, dia akan selalu dipanggil setiap kali Aplikasi Web Anda ditampilkan ke browser.

Anda sebagai Web Developer cukup hanya mengembalikan nilai FALSE jika ingin menyembunyikan item menu tertentu. Sedangkan jika Anda mengembalikan nilai TRUE (nilai default), maka item menu akan ditambahkan langsung ke bagian Menu di Aplikasi Web Anda. Tapi, itu artinya tidak selalu item menu itu dapat dilihat oleh semua Pengguna. Tergantung kepada hak akses Pengguna juga. Sebuah item menu akan ditampilkan hanya jika property Allowed bernilai TRUE. Ketika item menu dilewatkan ke event ini, property Allowed diset berdasarkan fitur User Level Security dari project PHPMaker Anda. Meskipun demikian, Anda dapat mengubahnya dengan mengeset $Item->Allowed menjadi TRUE atau FALSE; tergantung kebutuhan Anda.

Berikut ini beberapa contoh penggunaan kode pada server event MenuItem_Adding. Anda dapat menambahkan kode Anda dengan sangat mudah melalui lokasi: Server Events -> Global -> All Pages dari dalam aplikasi PHPMaker.

Sebagai Web Developer, sebelum menulis kode Anda di server event ini, saya sarankan Anda agar mengeksplorasi property apa saja yang dimiliki oleh setiap object $Item. Caranya cukup dengan menambahkan kode berikut:

var_dump($Item); // untuk melihat property yang dimiliki oleh $Item ...

ke dalam server event tadi, lalu generate ulang seluruh file script, dan jalankan ulang Aplikasi Web Anda dari browser. Selengkapnya kode tadi di dalam server event MenuItem_Adding menjadi seperti ini:

function MenuItem_Adding(&$Item) { 
    var_dump($Item); // untuk melihat property yang dimiliki oleh $Item ...
}

Setelah Anda mengetahui property apa saja yang terdapat di dalam object $Item tadi, maka mari kita mencoba mengimplementasikannya. Berikut ini contoh kasus untuk menampilkan item menu “Download” hanya kepada Pengguna yang sudah berhasil login:

function MenuItem_Adding(&$Item) { 
     //var_dump($Item);
     // Return False if menu item not allowed
    if ($Item->Text == "Download") {
         return IsLoggedIn();
     } else { 
         return TRUE;
     }
}

Sedangkan kode di bawah ini adalah contoh kasus untuk menampilkan item menu yang memiliki URL “usersmanagement.php” hanya dapat diakses oleh Pengguna yang memiliki userlevel Admin.

function MenuItem_Adding(&$Item) { 
     //var_dump($Item);
     // Return False if menu item not allowed
    if ($Item->Url == 'usersmanagement.php') {
         return IsAdmin();
     } else { 
         return TRUE;
     }
}

Jangan lupa, setelah Anda menulis kode Anda di server event tersebut, generate ulang semua file script dengan menggunakan PHPMaker seperti biasa.

Dengan menggunakan server event MenuItem_Adding, maka Anda sebagai Web Developer dapat mengendalikan/menyembunyikan item menu tertentu berdasarkan business-logic yang Anda terapkan di Aplikasi Web yang dibangun oleh PHPMaker.

Betapa mudah dan nikmatnya Anda membangun Aplikasi Web dengan menggunakan PHPMaker, bukan? 🙂

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

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, ilovephpmaker.com, dan phpmakerprojects.com.

Betapa Mudahnya Memanipulasi Menu Aplikasi Web dari PHPMaker
Membuat Koneksi Database yang Fleksibel di PHPMaker

Komentar

  1. herman mengatakan

    Sab, 17 Mei 2014 pada 6:02 am

    Pembahasan yang menarik. Apakah di PHPMaker ada dukungan multi-user; dengan kata lain 1 username kita dapat berikan 2 atau lebih userlevel? Terima kasih.

    Balas
    • Masino Sinaga mengatakan

      Sab, 17 Mei 2014 pada 9:53 am

      Pertanyaan Anda itu lebih tepatnya adalah “multi-userlevel”, dan bukan “multi-user”.
      Sepengetahuan saya PHPMaker baru bisa merelasikan “satu username” dengan “satu userlevel”. Jika Anda ingin menggabungkan beberapa hak akses yang terdapat di beberapa userlevel, maka sebaiknya buat userlevel baru yang berisi hak akses gabungan dari beberapa userlevel tadi.

      Balas
  2. bagus mengatakan

    Ming, 30 Agustus 2020 pada 11:18 am

    mohon petunjuk bang. Tabel master kode dipake di smua user terutama saat selext box. Supaya tabel master kode tadi tak nampak di menu level user bagaimana cara ? pake cara diatas memang tak nampak menunya. tapi jika user tahu URLnya dan dia ketik bisa si user lihat isi tabel master kode tadi. terimakasih sebelumnya

    Balas
    • bagus mengatakan

      Ming, 30 Agustus 2020 pada 12:21 pm

      sudah coba setting di static user level dan conteng list untuk level user tapi tetap tampil di menu user. jika tak di conteng list maka tak nampak di selection box. ada saran bang ? thank

      Balas
      • Masino Sinaga mengatakan

        Ming, 30 Agustus 2020 pada 8:31 pm

        Kalau sudah disetting di Static User Level tapi menu masih tetap muncul, maka kemungkinan Anda juga menggunakan Dynamic User Level. Jadi, harus diatur lagi dari Dynamic User Level-nya.

        Balas
  3. Murniyati mengatakan

    Jum, 31 Maret 2023 pada 5:09 am

    Mohon bertanya pak dan ijin berikan contohnya :
    Bagaimana apabila seperti di bawah ini :
    User 1 mengakses Menu A, Menu B , dan selanjutnya
    User 2 mengakses Menu C, Menu D , dan berikutnya
    User 3 mengakses Menu E, Menu F

    Balas
    • Murniyati mengatakan

      Jum, 31 Maret 2023 pada 7:15 am

      sudah ketemu pak, dari bebrapa artikel bapak yang di post di beberapa halaman diskusi web yang selain ini. dan hkvforums serta stack overflow. Terima kasih banyak

      Balas
      • Masino Sinaga mengatakan

        Jum, 31 Maret 2023 pada 8:13 am

        Sama-sama.

        Balas

Trackbacks

  1. Mengenal Server Events di PHPMaker : IlmuKomputer.Com berkata:
    Sab, 30 Agustus 2014 pukul 7:28 am

    […] Mudahnya Menyembunyikan Item Menu Aplikasi Web dari PHPMaker function MenuItem_Adding(&$Item) { //var_dump($Item); // Return False if menu item not allowed if ($Item->Text == "Download") { return IsLoggedIn(); } else { return TRUE; } } […]

    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

  • Mudahnya Mengubah Nilai Delay Auto Hide Success Message di PHPMaker 2025
  • Mudahnya Berpindah Layout dari Table ke Cards di Halaman List lewat PHPMaker 2025
  • Jangan Lupa Pakai AdjustSql Saat Insert atau Update Data Lewat ExecuteStatement
  • File-File yang Wajib Diperhatikan Setelah Menambah Item User Values di PHPMaker 2025
  • Begini Cara Memuat Tables dari Database Secara Dinamis di PHPMaker 2025

Menu

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

Komentar Terbaru

  • Masino Sinaga pada Mudahnya Menyesuaikan Timezone di Calendar Report pada PHPMaker 2023
  • Nano pada Mudahnya Menyesuaikan Timezone di Calendar Report pada PHPMaker 2023
  • Charly pada Mudahnya Menyembunyikan Tombol Master/Detail di Halaman View pada PHPMaker 2023
  • Charly pada Mudahnya Menyembunyikan Tombol Master/Detail di Halaman View pada PHPMaker 2023
  • Masino Sinaga pada Mudahnya Menyembunyikan Tombol Master/Detail di Halaman View pada PHPMaker 2023

Situs Terkait

  1. I Love PHPMaker
  2. Situs Resmi PHPMaker
  3. Forum Diskusi PHPMaker
  4. PHPMaker di IlmuKomputer.com
  5. PHPMaker Projects
  6. 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 - 2025 | WordPress | Catat masuk | Kembali ke atas