Smart! Itulah satu kata lainnya yang bisa kita berikan kepada PHPMaker, di samping tentu dua kata hebat lainnya yaitu Powerful dan Flexible. Mengapa? Karena PHPMaker begitu smart-nya mendeteksi fitur apa saja yang terkait dengan penggunaan control Checkbox di setiap baris Record pada halaman List. Nah, PHPMaker dapat menampilkan control Checkbox tersebut berdasarkan beberapa fitur tertentu.
Anda pasti sudah sering melihat control Checkbox yang terdapat di setiap baris Record pada halaman List. Biasanya control Checkbox ini terdapat di sebelah kiri, dan berfungsi untuk memilih satu atau beberapa Record. Selanjutnya Pengguna dapat melakukan operasi tertentu terhadap satu atau beberapa Record yang terpilih tadi.
Katakanlah Pengguna dapat memperbarui sekaligus beberapa Record tadi, atau menghapus beberapa Record, atau mengekspor beberapa Record, atau bahkan melakukan operasi lainnya yang bisa Anda tentukan terhadap beberapa Record yang terpilih melalui control Checkbox tadi.
Ada beberapa fitur di PHPMaker yang terkait dengan item pengaturan berikut, sehingga control Checkbox di halaman List dapat secara otomatis ditampilkan, yaitu:
- Multiple delete, berfungsi untuk menghasilkan fitur penghapusan beberapa Record sekaligus di Aplikasi Web. Fitur ini bisa Anda aktifkan dari menu tab PHP -> Page Options (Global) untul level Global, atau untuk level Table dengan cara mengklik salah satu object Table dari panel Database, lalu dari tab Table -> Table-Specific Options pilih Multiple delete.
- Export Selected records, berfungsi untuk menghasilkan fitur Ekspor Data beberapa Record sekaligus di Aplikasi Web. Fitur ini bisa Anda aktifkan dari menu tab PHP -> Page Options (Global) -> Export -> Export type: Selected records untuk level Global, atau untuk level Table dengan cara mengklik salah satu object Table dari panel Database, lalu dari tab Table -> Table-Specific Options -> Export type:, pilih Selected records.
- Multiple update, berfungsi untuk menghasilkan fitur pengubahan beberapa Record sekaligus di Aplikasi Web. Fitur ini hanya bisa Anda aktikfan dari level Table saja, yaitu dengan mengklik terlebih dulu salah satu object Table dari panel Database, lalu klik tab Table -> Table Options -> dan aktifkan item Multi-Update. Selain itu, pastikan juga Anda sudah memilih Field yang akan diikutkan pada fitur ini dari tab Fields (yang lokasinya di sebelah kiri tab Table), lalu pada kolom Multi-Update, pilih Field yang Anda inginkan.
- Row_CustomAction, berfungsi untuk menghasilkan fitur pengoperasian lainnya terhadap beberapa Record sekaligus di Aplikasi Web. Contoh, Anda sebagai Web Developer dapat menambahkan sebuah tombol di bagian panel Paging di halaman List, dimana ketika Pengguna mengklik tombol tadi, maka sistem akan memproses Record yang terpilih tadi. Anda sebagai Web Developer cukup hanya menambahkan sedikit kode saja di kedua server event Page_Load dan Row_CustomAction yang terdapat di halaman List.
Jadi, bisa disimpulkan bahwa control Checkbox di halaman List akan ditampilkan oleh Aplikasi Web jika Anda minimal mengaktifkan satu dari keempat fitur di atas tadi dari PHPMaker. Itu artinya, Anda tidak perlu lagi bersusah payah menulis kode sendiri (yang biasanya bisa sampai beratus-ratus baris) hanya untuk menampilkan control Checkbox tersebut.
Wow, betapa mudahnya bukan jika Anda menggunakan PHPMaker? Anda tidak perlu lagi pusing-pusing sekarang memikirkan bagaimana cara memunculkan control Checkbox di halaman List. Biarkan PHPMaker yang bekerja untuk Anda! Andalah yang menjadi Boss sekarang! Hehehe… 😀
Pak Masino, Bagaimana caranya agar Multiple Delete dan Multiple Edit hanya bisa di akses oleh User dengan Hak Akses tertentu.
Jadi saya sudah buat Kode pada Listoptions untuk menghilangkan Tombol Edit, Hapus dll… sudah berhasil
dengan kode dibawah ini :
Namun Kode tersebut tidak berlaku ketika mengaktifkan Multiple Delete dan Multiple Edit , karena masih tetap berfungsi Untuk User Lainnya (semua user).
dan kelemahan Kode diatas adalah User masih bisa mengaksis Halaman Edit secara Manual dari alamat Browser. (meskipun hanya bagi User yg sudah Ahli.)
misalnya dataedit.php?id=10.
jadi nantinya mau dibikin hanya User yg Punya Record terkait dan User dengan akses= 2 (Admin Aplikasi) yang bisa melakukan edit dan Hapus Record terkait.
cuma masih terkendala pada Multiple Delete dan Multiple Edit.
Untuk mencegah user mengakses halaman tertentu, solusinya mirip dengan trik pada beberapa artikel ini (ingat, logikanya mirip lho ya, tinggal sesuaikan saja dengan kebutuhan Anda!):
– Mencegah Pengguna Menambah Data di Halaman Detail Aplikasi Web dari PHPMaker.
– Mencegah Pengguna Mengakses URL Master/Detail List di Aplikasi Web dari PHPMaker.
Sedangkan untuk menghilangkan tombol Delete dan Update di bagian atas, silahkan cek id element-nya dari View Page Source browser, lalu gunakan jQuery untuk menyembunyikan element tadi berdasarkan id-nya. Gunakan Startup Script pada halaman List, untuk menaruh kode jQuery tadi.