Masino Sinaga

Web Development and PHPMaker

Anda di sini: Beranda / PHPMaker / Betapa Mudahnya Memanipulasi Menu Aplikasi Web dari PHPMaker
Alternatif Validasi Pengguna Aplikasi Web dari PHPMaker
Mudahnya Menyembunyikan Item Menu Aplikasi Web dari PHPMaker

Betapa Mudahnya Memanipulasi Menu Aplikasi Web dari PHPMaker

Sab, 17 Mei 2014 oleh Masino Sinaga 1 Komentar

Di artikel saya sebelumnya, kita sudah mengetahui bahwa betapa mudahnya menyembunyikan Item Menu di Aplikasi Web yang dibuat dengan PHPMaker. Kita cukup hanya menulis sedikit kode saja dari dalam aplikasi PHPMaker pada bagian server event MenuItem_Adding. Artinya, kita tidak perlu menulis kode di file script yang sudah di-generate oleh PHPMaker. Kita juga tidak perlu bersusah payah mengkostumais file Template PHPMaker. Semuanya dapat dilakukan dengan sangat mudah dan cepat hanya dari dalam project PHPMaker.

Kemampuan untuk menyembunyikan Item Menu tadi tentu saja belum lengkap jika tidak disertai dengan kemampuan tambahan lainnya yang terkait dengan pemanipulasian Menu di Aplikasi Web. Di antaranya, bagaimana cara menambahkan Item Menu baru sesuai keinginan kita saat Aplikasi Web dimuat ke browser, bagaimana cara memindahkan Item Menu tertentu ke posisi yang diinginkan, bagaimana cara menghilangkan semua Item Menu, dan lain sebagainya. Semua kemampuan tambahan itu bisa diatasi dengan sangat mudah oleh PHPMaker. Penasaran bagaimana caranya?

PHPMaker sudah menyediakan server event yang bernama Menu_Rendering untuk memanipulasi Menu di Aplikasi Web yang dihasilkan olehnya. Lokasi server event ini berada di level yang sama dengan lokasi server event MenuItem_Adding yang sebelumnya sudah kita bahas, yaitu dari: Server Events -> Global -> All Pages pada project PHPMaker. Sesuai dengan namanya, server event Menu_Rendering akan dieksekusi saat Menu sedang di-render atau ditampilkan output-nya ke browser Pengguna.

Server event Menu_Rendering dijalankan setelah server event MenuItem_Adding selesai dijalankan.

Anda bisa membuktikan hal ini dengan cara menambahkan kode berikut ke dalam server event Menu_Rendering:

var_dump($Menu); // untuk mengetahui property yang dimiliki object $Menu

kemudian tambahkan juga kode berikut ke dalam server event MenuItem_Adding:

var_dump($Item); // untuk mengetahui property yang dimiliki object $Item

lalu generate ulang file script dengan PHPMaker, dan terakhir jalankan Aplikasi Web Anda di browser.

Sekedar untuk menyegarkan ingatan kembali, server event di PHPMaker sebenarnya adalah function dalam bahasa PHP yang dijalankan di sisi server. Itulah sebabnya disebut dengan server event, yaitu event yang dijalankan di sisi server. Server event Menu_Rendering sama artinya dengan function Menu_Rendering. Function ini memiliki satu parameter, yaitu $Menu. Artinya, informasi Menu secara keseluruhan dilewatkan ke event ini sebagai sebuah instansiasi dari object (class) cMenu. Anda dapat mengetahui property apa saja yang dimiliki oleh object Menu tadi dari kode var_dump($Menu); di atas tadi.

Sama seperti server event MenuItem_Adding, server event Menu_Rendering juga merupakan function atau event yang sifatnya global. Artinya, dia akan selalu dipanggil setiap kali Aplikasi Web ditampilkan ke browser Pengguna.

Berikut ini beberapa contoh penggunaan kode pada server event Menu_Rendering.

Ini adalah contoh kode untuk menambahkan Item Menu baru, lalu menaruh Item Menu tersebut pada posisi ketiga di menu induk/root, dan hanya berlaku untuk Pengguna yang sudah berhasil login ke Aplikasi Web:

function Menu_Rendering(&$Menu) { 
     if ($Menu->IsRoot) { // pastikan ini hanya untuk menu induk/root
         $Menu->AddMenuItem(10000, "MyMenuText", "mypage.php", -1, "", IsLoggedIn()); // tambahkan Item Menu baru
         $Menu->MoveItem("MyMenuText", 2); // pindahkan ke posisi ketiga (indeks ke-2 dalam array berbasis 0)
     } 
 }

Dalam contoh tersebut, dilakukan pemeriksaan kondisi terlebih dulu apakah status menu tersebut adalah Root atau menu induk/utama dengan menggunakan property IsRoot, dan jika memenuhi syarat, maka tambahkan Item Menu yang baru menggunakan method AddMenuItem, kemudian memindahkan Item Menu yang baru tadi menggunakan method MoveItem.

Method AddMenuItem memiliki enam parameter. Yang pertama adalah ID dari Item Menu yang ditambahkan, yaitu 10000 (harus unik, tidak boleh sama dengan ID milik Item Menu lainnya). Parameter kedua merupakan teks dari Item Menu tadi, yaitu MyMenuText. Parameter yang ketiga adalah URL dari Item Menu, yaitu mypage.php. Parameter yang keempat nilainya -1, yang artinya Item Menu tersebut merupakan parent menu atau menu induk. Selanjutnya parameter kelima string kosong “”, yaitu source dari Item Menu; yang dalam hal ini tidak terlalu berpengaruh untuk apa gunanya. Sedangkan parameter yang terakhir atau yang keenam bernilai IsLoggedIn(), yaitu function global di PHPMaker untuk memeriksa status Pengguna apakah benar sedang dalam posisi sudah berhasil login.

Method MoveItem memiliki dua parameter. Parameter pertama adalah teks dari Item Menu yang akan dipindahkan, yaitu MyMenuText. Sedangkan parameter kedua adalah lokasi baru dari Item Menu yang dipindahkan, yaitu 2, yang artinya posisi menu yang baru tadi akan berada di urutan ketiga dari kiri (jika menu Horizontal) atau ketiga dari atas (jika menu Vertical). Mengapa kita menggunakan nilai 2 dan bukan 3? Karena kita menggunakan indeks array berbasis 0. Artinya, indeks 0 adalah element yang pertama. Berarti indeks yang ke-2 adalah elemen yang ketiga.

Oke, sampai di sini saya yakin Anda sudah memahami fungsi dari server event Menu_Rendering. Sekarang mari kita melihat contoh yang lainnya supaya semakin lebih mengerti lagi, sekaligus memperkenalkan method lain untuk menghapus semua Item Menu.

Di kode berikut ditunjukkan bahwa betapa mudahnya kita menghapus semua Item Menu lalu selanjutnya menambahkan dua Item Menu baru sesuai yang kita inginkan. Dengan kata lain, kode ini bermanfaat untuk menggunakan Menu buatan kita sendiri daripada menggunakan Menu yang sudah terdefinisi dari menu Tools -> Menu Editor dalam project PHPMaker Anda:

function Menu_Rendering(&$Menu) { 
    if ($Menu->IsRoot) { // cek apakah menu induk
        $Menu->Clear(); // hapus semua item menu, cukup dari induknya saja!
        $Menu->AddMenuItem(1, "MyMenuText1", "mypage1.php"); // tambahkan item menu baru pertama
        $Menu->AddMenuItem(2, "MyMenuText2", "mypage2.php"); // tambahkan item menu baru kedua
    }
} 

Dengan menggunakan Menu_Rendering, maka Anda sebagai Web Developer dapat memanipulasi Menu di Aplikasi Web yang Anda bangun dengan sangat mudah dan cepat menggunakan PHPMaker. Jika di Aplikasi Web Anda ada kebutuhan untuk mengubah Item Menu tertentu, maka Anda dapat menyembunyikan Item Menu tersebut lalu menambahkan Item Menu yang baru. Itu artinya Anda dapat menggunakan kombinasi dari kedua server event MenuItem_Adding dan Menu_Rendering. Atau bahkan jika Anda ingin menggunakan Item Menu Anda sendiri yang misalnya disimpan di suatu tabel di database Anda, maka Anda bisa menggunakan kode seperti yang terdapat di contoh yang kedua tadi.

Luar biasa memang PHPMaker! Betapa semakin mudah dan nikmatnya Anda sekarang bekerja di bidang Web Development dengan menggunakan PHPMaker… 🙂

Ditempatkan di bawah: PHPMaker Ditag dengan:item menu, menu, Menu_Rendering, MenuItem_Adding, PHPMaker Indonesia, 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, ilovephpmaker.com, dan phpmakerprojects.com.

Alternatif Validasi Pengguna Aplikasi Web dari PHPMaker
Mudahnya Menyembunyikan Item Menu Aplikasi Web dari PHPMaker

Komentar

  1. Jovanito mengatakan

    Sen, 5 Oktober 2020 pada 3:18 pm

    mau tanya cara memperbarui nilai bidang dari bidang lainyalewat client side events gmana yah

    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

  • Masino Extensions untuk PHPMaker 2024 Sudah Dirilis, Silahkan Download!
  • Fitur-Fitur Masino Extensions untuk PHPMaker 2024
  • Review PHPMaker 2024
  • Mudahnya Mengunci Record dengan Javascript Count Down di PHPMaker 2023
  • Ini Alasan Kenapa Kalian Harus Beralih ke PHP 8

Menu

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

Komentar Terbaru

  • Masino Extensions untuk PHPMaker 2024 Sudah Dirilis, Silahkan Download! – Masino Sinaga pada Fitur-Fitur Masino Extensions untuk PHPMaker 2024
  • Fitur-Fitur Masino Extensions untuk PHPMaker 2024 – Masino Sinaga pada Custom Domain URL di Masino Extensions untuk PHPMaker 2020
  • Fitur-Fitur Masino Extensions untuk PHPMaker 2024 – Masino Sinaga pada Membatasi Akses Versi Live dan Versi Development Aplikasi Web dari PHPMaker
  • Fitur-Fitur Masino Extensions untuk PHPMaker 2024 – Masino Sinaga pada Nomor Urut Record di Export Data pada PHPMaker 2020 dan PHPMaker 2021
  • Masino Sinaga pada Review PHPMaker 2024

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 - 2023 | WordPress | Catat masuk | Kembali ke atas