Sering kali kita tidak ingin menampilkan Search Operator tertentu pada bagian Extended Search di halaman List, maupun pada Advanced Search di halaman Search pada aplikasi web yang dihasilkan oleh PHPMaker 2024. Nah, bagaimana caranya? Gampang sekali ternyata, Saudara-saudara!
Katakanlah kita tidak ingin menampilkan Search Operator berikut pada field Status_Proyek:
<> (tidak sama dengan),
< (lebih kecil dari),
<= (lebih kecil dari atau sama dengan),
> (lebih besar dari), dan
>= (lebih besar dari atau sama dengan).
PHPMaker 2024 sudah menyediakan property SearchOperators pada field yang menampung search operator dalam format data array. Itu artinya, kita dapat menghapus elemen array tertentu lewat server event.
Sebelum menghapus, maka kita harus mengetahui terlebih dulu, pada indeks keberapa saja dari array tersebut yang menampung kelima Search Operator di atas.
Pertanyaan selanjutnya, bagaimana caranya? Lagi-lagi sangat gampang! Cukup dengan menaruh kode ini terlebih dulu di server event Page_Load milik halaman List:
var_dump($this->Status_Proyek->SearchOperators);
Setelah itu, jalankan aplikasi web seperti biasa dengan menampilkan halaman List yang bertalian, maka kita akan melihat hasil dari var_dump tersebut kira-kira seperti ini:
Array
(
[0] => =
[1] => <>
[2] => <
[3] => <=
[4] => >
[5] => >=
[6] => BETWEEN
[7] => NOT BETWEEN
[8] => IS NULL
[9] => IS NOT NULL
)
Nah, dari hasil var_dump itu, kita sekarang mengetahui bahwa search operator yang akan kita hapus masing-masing ada di array indeks ke-1 sampai dengan ke-5.
Selanjutnya, kita hapus kode var_dump di atas, lalu ganti menjadi kode ini pada server event Page_Load milik halaman List tadi:
unset($this->Status_Proyek->SearchOperators[1]);
unset($this->Status_Proyek->SearchOperators[2]);
unset($this->Status_Proyek->SearchOperators[3]);
unset($this->Status_Proyek->SearchOperators[4]);
unset($this->Status_Proyek->SearchOperators[5]);
Lakukan hal yang sama untuk server event Page_Load milik halaman Search untuk menerapkannya pada bagian Advanced Search.
Hanya dengan kode di server event itu saja, maka kita sudah bisa menghilangkan search operator yang tidak kita inginkan. Jadi, sekarang search operator yang ditampilkan hanya indeks ke-0, ke-6 sampai dengan ke-9 saja.
Mudah dan cepat sekali kan?
O iya, sebagai perbandingan saja, selain menggunakan server event, kita juga sebenarnya bisa menyembunyikan search operator di atas tadi dengan menggunakan kode CSS seperti yang sudah pernah kita bahas pada artikel Menyembunyikan Pilihan User Select pada Advanced Search di PHPMaker 2021.
Eka Dalas Pangestu mengatakan
Hallo pak masino
pak izin bertanya pak saya mengguankan phpmaker 2022.11 dan sudah lisensi juga pak
tapi ada permasalahannya yaiut Disabled Code (Server Events, Client Scripts and Custom Templates)
Webruntime 2 sudah ada, adavance seting sudah saya ganti juga ke clasik pak.
Mohon jawabannya pak
Terima kasih
Masino Sinaga mengatakan
Coba kontak PHPMaker Support nya saja mas, supaya dipandu step by step solution-nya.
arie mengatakan
Bukankah PHPMaker 2022 versi terakhirnya adalah 2022.12.4 dan dengan core node.js 2022.12.6 ?
CMIIW
Masino Sinaga mengatakan
Saya sudah lama tidak menggunakan PHPMaker versi 2022, karena dulu saya ingat versi ini tidak terlalu stabil untuk digunakan, alias masih belum terlalu sempurna.
Saat muncul versi 2023, barulah saya rasakan lebih stabil dan banyak perbaikan/penyempurnaan dari versi-versi sebelumnya.
Sekarang saya malah sudah pakai versi terakhir, yaitu PHPMaker 2024. Buat saya, versi 2022 sudah out of dated, sekalipun selisihnya masih 2 versi dengan versi terakhir saat komentar ini saya tulis.
arie mengatakan
Betul Pak, PHPMaker 2022 banyak kekurangannya dibanding 2023. Saya pun sudah tidak menggunakanannya dan sekarang menggunakan PHPMaker 2024.
Informasi last version yang saya berikan itu hanya sebagai info yang barang kali ada kaitannya dengan permasalahan yang terjadi.
Terima kasih untuk selalu setia update pengalamannya dengan PHPMaker.