Sering kali hal yang kelihatan sepele tapi ketika sedang kita butuhkan rasanya seperti sesuatu yang sangat berharga sekali, tapi ketika sedang tidak dibutuhkan, maka kita sering mengabaikannya. Ibarat ketika kita sedang kelaparan, roti satu sobekan pun akan langsung disantap meskipun baru masih membayangkannya saja, tapi jika kita sudah kekenyangan, maka makanan apapun yang terhidang menjadi tidak selera dan kita abaikan.
Sama halnya pula seperti ketika kita ingin menyembunyikan tombol Add atau Tambah di halaman List yang solusi sebenarnya sangatlah mudah, tapi jika tidak kita mengetahui bagaimana caranya, maka rasanya hal itu sangatlah berharga ketika sedang kita butuhkan. Ketika tidak sedang dibutuhkan, sering kita melupakannya.
Di artikel ini kita akan membahas bagaimana cara menyembunyikan tombol Tambah yang terdapat di bagian atas dan/atau bawah tabel pada halaman List. Saya sebutkan dengan dan/atau, karena posisi tombol ini bisa hanya di atas saja, di bawah saja, atau bahkan di atas dan di bawah dari tabel pada halaman List. Tergantung dari pengaturan yang Anda tentukan di PHPMaker sebelum men-generate file script.
Biasanya, hal ini sering Anda alami jika Anda ingin mencegah Pengguna menambah data Master tanpa disertai data Detail-nya. Tombol Add Master/Detail letaknya bersebelahan dengan tombol Add. Jadi, kita hanya ingin menampilkan tombol Add Master/Detail.
Cukup dengan menambahkan dua baris kode PHP saja ke dalam server event Page_Render milik tabel Master. Server event tadi terdapat di bawah lokasi Server Events -> Table-Specific -> List Page, sehingga kode selengkapnya menjadi seperti berikut ini:
// Page Render event function Page_Render() { //echo "Page Render"; $this->OtherOptions['addedit'] = new cListOptions(); $this->OtherOptions['addedit']->Body = ""; }
Dari kode tersebut, maka kita menjadi tahu sekarang bahwa tombol Add berada di bawah object OtherOptions dan dikelompokkan pada area addedit. Object OtherOptions adalah object yang dihasilkan dari class cListOptions. Selanjutnya kita cukup mengeset property Body dengan string kosong.
Meskipun teknik di atas bisa dilakukan dengan mudah melalui fitur Client Scripts, tapi saya lebih suka menggunakan fitur Server Events dengan mengoptimalkan object yang terkait dengan tombol tersebut.
O iya, kode tadi telah saya coba dan berhasil dengan mulus pada PHPMaker versi 11.0.5.
Mudah sekali, bukan? 😀
ya ,saya juga coba berhasil. Kalau dari client scripts bagaimana ya ? 🙂
Terus terang saya baru belajar PHP 1 bulan ini, dan langsung mencoba PHPmaker.
Bapak explore mencari trik dari mana ya ?
Tahu object dan class PHPmaker.
Kalau dari Client Script, tinggal pakai jQuery, gunakan method .hide() dari elemen yang ingin disembunyikan. Bisa berdasarkan id-nya, atau bisa berdasarkan nama class-nya.
Untuk mengetahui object dan class di PHPMaker, lihat source code PHP yang dihasilkan oleh PHPMaker tersebut. Selama Anda sudah menguasai OOP (Object Oriented Programming), seharusnya tidak sulit mengeksplorasi source code tadi.
Dari list data header, ada tombol Order Detail, jika itu diklik maka di bawah detil ada tombol Add dan Edit Detil, saya mau tombol Add dihidden.
Karena tombol ini akan membuat add Data header saja.
Jika saya pakai sintak diatas kedua tombol hilang semua.
Jangan pakai kode di atas. Sebagai gantinya, pakai kode yang ini di bagian Startup Script dari halaman List:
Siang mas, Bagimana caranya mengubah Default Tombol ( + ) di halaman List utk menambah data menjadi teks, misalkan : ‘Input Data’ atau menjadi ‘icon Image’
Siang. Tinggal sesuaikan saja phrase di file language .xml nya. Contoh, untuk v11, di dalam file english.xml, sesuaikan phrase yang ini:
Ganti nama class-nya dengan class yang menggunakan image lain, atau hapus property class-nya jika tidak ingin menampilkan sama sekali icon.
Mengenai hal ini sudah saya bahas di artikel berikut: Mudahnya Mengubah Icon di Tombol pada Aplikasi Web dari PHPMaker.
makasih Pak sudah di buatkan artikelnya, saya pelajari dulu.
Sama-sama.
Siang mas ,saya bru belajar php maker kalo saya mau menghilangkan Icon/ Tulisan php Maker di header paling atas itu apa bisa mas? dan untuk di tabel menghilangkan Cari/edit/copy/Delete itu apa juga bisa mas? terimakasih
Secara aturan tidak bisa, karena PHPMaker sudah memberikan catatan seperti ini:
Note: Only licensed users are allowed to change the logo
selamat siang, mau tanya Bang. apakah artikel ini berlaku juga untuk phpmaker 2019? saya coba terapkan di phpmaker 2019 , hasilnya error. terimakasih
Untuk versi 2019, ganti cListOptions menjadi ListOptions
Terimakasih Bang, berhasil… GBU
Om Masino…setahu om apakah script hasil phpmaker ini aman dari semacam hacker yaa seperti sql injeksi atau sejenis..?
Halo tante Umi, hehe… sepengetahuan saya sih aman dari SQL Injection, dan sudah pernah ditest oleh team penguji terhadap salah satu aplikasi web yg saya develop dengan PHPMaker.
Tapi untuk membuktikannya lagi, silahkan langsung ditest sendiri, apakah masih ada celah keamanan yg ditemukan. Kalau ada, laporkan ke sini ya. Terima kasih.
ok..terimaksih infonya om..tapi kalau di suruh test sendiri saya tidak tau soal itu om..
Hehe, gampang kok cara test-nya. Tinggal ketik aja ini di Google: sql injection example, ada beberapa contoh bagaimana cara mengetest SQL Injection.
Maaf Pak Masino, bertanya lagi. untuk Class cListOptions() di phpmaker 2023, masih bisa digunakan? soalnya waktu digenerate pesannya not found. Makasih
Di versi 2023 dan seterusnya, class tersebut berubah menjadi ListOptions. Huruf c di awal dihilangkan.
Makasih Pak Masino