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? 😀
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 ?
Coba Anda baca kembali kalimat ini berulang-ulang:
sampai detik ini saya tidak paham apa maksud kalimat itu?
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 ?
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.
jadi nantinya akan di buat View (gabungan dari beberapa Tabel) utk halaman Listnya.
Ya sama saja itu artinya Anda tetap harus membuat halaman List.
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”);
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?
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.
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.