Tidak terasa hampir satu bulan sudah saya tidak menulis artikel di situs ini. Di hari terakhir bulan April 2015, ada satu trik sederhana yang baru saja saya temukan hari ini. Triknya hanya untuk menyembunyikan link yang menampilkan halaman List dari tabel Detail beserta record Master di bagian atasnya. Link ini bisa berada di dalam area Preview Row, bisa juga di area Overlay yang menampilkan data dari table Detail. Kelihatan sepele memang, tapi sering dibutuhkan oleh Web Developer.
Katakanlah di halaman List dari table orders (table Master), terdapat icon plus (+) yang jika diklik oleh Pengguna akan menampilkan data dari table orderdetails (table Detail) dalam area Preview Row (di bawah baris record Master tadi). Nah, secara standar, PHPMaker akan membangkitkan link di dalam areka Preview Row tadi yang jika diklik akan membuka halaman List dari table Detail beserta record Master di bagian atasnya.
Pertanyaannya, bagaimana cara menyembunyikan link tersebut di area Preview Row? Solusinya ternyata sangatlah mudah dan sederhana. Kita bisa mengoptimalkan kode jQuery dan menaruhnya pada bagian Startup Script di bawah halaman List dari table Master tadi:
$(document).ready(function() { $('[data-phrase="MasterDetailListLink"]').hide(); });
Sampai dengan versi 11.0.6, PHPMaker belum menyediakan Server Event yang bisa menyembunyikan link tersebut. Itulah kenapa kita dapat mengakalinya dengan menyembunyikan link tersebut berdasarkan data-phrase yang bernilai MasterDetailListLink.
Betapa mudahnya, bukan? 😀
Edi mengatakan
Mas, kalau menyembunyikan link LIST pada Breadcrumb yang terdapat di halaman add bagaimana ya ?
jadi ketika halaman LIST ‘TIDAK di GENERATE’ link menuju ke halaman LIST tetap muncul,
bagaimana cara menghilangkanya ?
Masino Sinaga mengatakan
Coba Anda baca kembali kalimat ini berulang-ulang:
sampai detik ini saya tidak paham apa maksud kalimat itu?
Edi mengatakan
maksudnya begini mas,
contah saja deh, andaikan ada tabel dengan nama buku.
secara default jika di generate semua akan ada file : bukuadd.php , bukulist.php, bukuview.php, bukuedit.php dll……
ketika berada di halaman bukuadd.php kan diatas nya muncul Breadcrumb yang menampilkan Link menuju ke bukulist.php. ex. Home => Buku => add (‘Buku’ link menuju ke bukulist.php)
ketika halaman LIST (bukulist.php) tidak di Generate, link tersebut tetap muncul, sehingga kalo di klik akan terjadi error (not Found) karena file bukulist.php tidak di generate (tidak ada file nya)
lalu bagaimana cara menghilangkan Link tersebut ?
Masino Sinaga mengatakan
Sebelum saya jawab bagaimana cara menghilangkan breadcrumb link di halaman Add, saya tanya balik begini: Seandainya Anda tidak men-generate halaman List, lalu bagaimana cara Anda untuk melihat atau menampilkan data yang sudah Anda tambahkan? Sementara kita ketahui, dari halaman List inilah link untuk fungsi Add, Edit, Delete, Search, dst berada.
Edi mengatakan
jadi nantinya akan di buat View (gabungan dari beberapa Tabel) utk halaman Listnya.
Masino Sinaga mengatakan
Ya sama saja itu artinya Anda tetap harus membuat halaman List.
mad din mengatakan
mas, saya nggak faham mengoptimalkan kode jQuery …sudah dicoba..nggak berhasil.
mas under script ini:
// Write your table-specific startup script here
document.write(“page loaded”);
Masino Sinaga mengatakan
Maksudnya nggak berhasil itu seperti apa ya? Apa yang ingin Anda capai dengan menambahkan kode jQuery tersebut? Apakah Anda sudah mencoba kode jQuery pada artikel di atas?
mad din mengatakan
Begini mas,, saya coba hide untuk list (master) order table di halaman list (order_detail).
Dan saya telah meletakkan code under
// Write your table-specific startup script here
// document.write(“page loaded”);
$(document).ready(function() {
$(‘[data-phrase=”MasterDetailListLink”]’).hide();
});
Kok tidak berhasil dalam halaman order detail list masih ada list master order table.
Mohon ya mas
Terima kasih.
Masino Sinaga mengatakan
Sepertinya Anda menaruhnya di halaman List dari table Detail, dan bukan pada table Master-nya. Iya apa iya? 🙂
Cobalah baca kembali dengan teliti perintah di artikel di atas.