Masih ingat artikel yang saya tulis kemarin? Artikel itu membahas bagaimana trik untuk menyembunyikan link yang akan membuka halaman Master/Detail List. Link tersebut bisa terdapat di dalam Preview Row (area yang muncul setelah Pengguna mengklik tombol plus (+) di sebelah kiri record Master pada halaman List), maupun di dalam Preview Overlay (area yang muncul ketika Pengguna menempatkan kursor mouse di atas tombol Master/Detail).
Trik itu memang pas untuk menyembunyikan link ke halaman List Master/Detail. Tapi sayangnya, bagi Pengguna yang cerdik dan pintar, dia dapat mengakses halaman List Master/Detail tadi langsung dengan cara mengetik alamat URL-nya dari bagian Address di browser. Contoh, untuk project demo yang ada di localhost, jika table master adalah orders dan table detail adalah orderdetails, maka dia dapat langsung mengetikkan alamat seperti ini dari browser:
http://localhost/demo11/orderdetailslist.php?showmaster=orders&fk_OrderID=11089
Nah, pertanyaannya adalah, bagaimana cara kita sebagai Web Developer untuk mencegah Pengguna mengakses halaman List Master/Detail tadi? Katakanlah berdasarkan contoh di atas, maka kita akan me-redirect Pengguna kembali atau tetap berada di halaman List dari table Master, yaitu orders. Penasaran ingin tahu caranya?
Solusinya cukup dengan menambahkan kode berikut ke dalam server event Page_Redirecting yang berada di bawah lokasi Server Events -> Table-Specific -> List Page milik table Detail, yaitu: orderdetails, sehingga kode selengkapnya kira-kira menjadi seperti ini:
// Page Redirecting event function Page_Redirecting(&$url) { // Example: //$url = "your URL"; if ($this->getCurrentMasterTable() == "orders") { $url = "orderslist.php"; } }
Dari kode di atas, kita memeriksa apakah table master yang aktif di halaman List dari table detail tersebut adalah orders, dan jika ya, maka redirect Pengguna ke halaman orderslist.php.
Betapa mudah dan cepatnya, bukan? 😀
Tinggalkan Balasan