Extended Search adalah fitur pencarian di Aplikasi Web yang dihasilkan oleh PHPMaker yang merupakan pengembangan dari fitur Quick Search atau Pencarian Cepat. Disebut dengan Extended Search, karena fitur ini merupakan pengembangan atau perluasan dari Quick Search yang Field-nya akan ditampilkan di panel Pencarian Cepat, di samping TextBox yang duluan sudah ada sebelumnya.
Anda sebagai Web Developer dapat menentukan Field-field mana saja yang akan ditampilkan sebagai Extended Search. Caranya cukup dengan mengaktifkan pilihan tersebut pada kolom Extended Search di bawah kolom List Page pada tab Fields atau Field Setup PHPMaker.
Kadang-kadang, tidak semua Field yang ditampilkan di bagian Extended Search boleh digunakan oleh semua Pengguna. Artinya, Anda sebagai Web Developer harus membatasi Field ini hanya dapat diakses oleh User Level tertentu.
Katakanlah untuk Pengguna yang memiliki User Level sama dengan 1, maka Field ProductID yang ditampilkan di Extended Search tadi menjadi tidak dapat dilihat alias disembunyikan, sedangkan untuk Pengguna yang memiliki User Level tidak sama dengan 1 dapat melihat Field ini di bagian Extended Search.
Untuk mengimplementasikan kebutuhan seperti itu, maka Anda cukup menaruh campuran kode PHP dan jQuery berikut di bagian Startup Script yang terdapat di bawah Client Scripts -> Table-Specific -> List Page:
<?php if (CurrentUserLevel() == 1) { ?> $(document).ready(function() { $('#xsc_ProductID').hide(); }); <?php } ?>
Perhatikan kode tersebut. PHPMaker akan menambahkan prefix xsc_ untuk ID dari element Field yang ditampilkan di bagian Extended Search. Dengan format seperti itu, maka Anda dapat memanipulasi Field lainnya yang tidak ingin Anda tampilkan di bagian Extended Search.
Dengan menggunakan kode tadi, Anda hanya menyembunyikan Field ProductID yang terdapat di bagian Extended Search, tapi Field ProductID tersebut akan tetap muncul di tabel pada halaman List yang bertalian.
Lalu timbul pertanyaan, bagaimana jika kita juga ingin menyembunyikan kolom ProductID dari tabel di halaman List tadi? Nah, solusinya ternyata lebih sederhana dari kode di atas. Anda tidak perlu menggunakan kode jQuery di atas tadi, tapi cukup hanya dengan menggunakan kode PHP berikut pada server event Page_Load yang terdapat di bawah Server Events -> Table-Specific -> List Page:
if (CurrentUserLevel() == 1) { $this->ProductID->Visible = FALSE; }
Dengan menggunakan kode PHP di server event Page_Load tadi, maka Anda sudah sekalian menyembunyikan Field ProductID baik dari bagian Extended Search maupun dari tabel yang terdapat di halaman List tersebut.
Wow, betapa simpel, mudah, dan cepatnya, bukan? 😀
wawi mengatakan
selamat pagi. kasus saya adalah bagaimana agar field misal “kota” hilang dari kolom List sementara dia tetap muncul pada Extended Search? sehingga nama “kota” tersebut tidak muncul lagi dalam rekapan tabel, namun hanya ada di extended search nya sebagai penanda bahwa yang terpilih pada tabel tersebut adalah hanya berdasarkan “kota” A misalnya. terimakasih dan mohon pencerahannya.
Masino Sinaga mengatakan
Selamat siang. Sepertinya artikel berikut bisa membantu Anda: Menyembunyikan Kolom di Tabel halaman List tapi Menampilkannya di Extended Search
Laura mengatakan
selamat pagi,
saya ingin menyembunyikan table yang sudah dipilih atau di checked dan jika sudah tersimpan di database maka data tersebut tidak akan muncul lagi dimenu.
mohon bantuan dan pencerahannya.
Masino Sinaga mengatakan
Selamat siang,
Untuk menyembunyikan item menu, Anda bisa menggunakan server event MenuItem_Adding seperti yang sudah dibahas di artikel Mudahnya Menyembunyikan Item Menu Aplikasi Web dari PHPMaker.