Apakah Anda pernah mengalami kesulitan ketika ingin mengubah link atau fungsi Hapus pada halaman List di Aplikasi Web yang dihasilkan oleh PHPMaker? Jika ya, maka artikel berikut ini merupakan solusinya!
Seperti yang kita ketahui, secara standar PHPMaker akan menghasilkan link Hapus di setiap baris Record pada halaman List. Pengguna dapat menghapus sebuah Record dengan cara mengklik icon Delete atau Hapus yang terdapat pada baris Record tersebut. Sistem akan mengarahkan Pengguna ke halaman konfirmasi penghapusan.
Kadang-kadang, link Hapus ini perlu diganti, sehingga ketika Pengguna mengkliknya, maka sistem akan mengarahkan ke halaman lain (bukan halaman konfirmasi penghapusan). Katakanlah kita ingin mengarahkan ke halaman lain yang mengharuskan Pengguna untuk menginput terlebih dulu alasan Record akan dihapus. Lalu, setelah Pengguna mengklik tombol tertentu di halaman tadi, maka sistem akan menambahkan log penghapusan ke tabel lain. Barulah setelah itu Record yang semula di atas tadi akan dihapus.
Supaya lebih mudah dipahami dan mendapatkan gambaran yang nyata, kita misalkan di Aplikasi Web yang dibangun dengan PHPMaker, kita ingin menghapus data di tabel barang, tapi sebelum data tersebut dihapus, kita ingin menambahkan log penghapusan ke tabel hapus_barang.
Untuk itu, maka kita harus mengubah link Hapus di halaman List dari tabel barang tadi ke halaman Add milik tabel hapus_barang.
Caranya sangatlah mudah, cukup Anda tambahkan kode PHP berikut ke dalam server event ListOptions_Rendered yang terdapat di bawah lokasi Server Events -> Table-Specific -> List Page, sehingga kode selengkapnya menjadi seperti ini:
// ListOptions Rendered event function ListOptions_Rendered() { // Example: //$this->ListOptions->Items["new"]->Body = "xxx"; $this->ListOptions->Items["delete"]->Body = '<span id="el'.$this->RecCnt.'_barang_delete" class="barang_delete"><a class="ewRowLink ewDelete" title="Delete" data-caption="Delete" href="hapus_barangadd.php?Kode_Barang='.$this->Kode_Barang->CurrentValue.'"><span data-phrase="DeleteLink" class="glyphicon glyphicon-trash ewIcon" data-caption="Delete"></span></a></span>'; }
Dari kode barusan, kita bisa menyimpulkan bahwa untuk mengubah link Hapus di halaman List pada tabel barang, kita cukup mengisi property Body milik item delete yang merupakan bagian dari object ListOptions.
Mudah sekali, bukan? Kita sama sekali tidak mengubah code dalam file script di sisi Aplikasi Web. Cukup hanya menambahkan satu baris kode PHP saja, dan itupun dari dalam project PHPMaker. Semuanya tersimpan dengan aman di sisi project, sehingga menjadi lebih mudah untuk dipahami dan diperbarui kembali di masa mendatang. 😀
Di artikel selanjutnya yang akan saya rencanakan terbit besok, kita akan membahas bagaimana mudahnya menangkap parameter Kode_Barang dari link Hapus tadi sehingga dapat terisi secara otomatis ke dalam form Add milik tabel hapus_barang.
siiiip Pak, Trimakasih banyak.
saya Pelajari dulu…
Sama-sama. Silahkan.
Siip Pak Masino, sdh berhasil sesuai yg diharpkan.
tapi bgaimana cara nya mengganti ‘Link Delete’ di halaman View Page.
sy sdh coba Artikel ini disini :
Server Event => Teble Specific=> View Page => Page Render
sy sdh coba gonta-ganti bagian ini :
$this->ListOptions->Items …. menjadi :
$this->DetailView->Items … (dll…) tp msh blm berhasil Pak.
mohon Pencerahan Pak, maaf msh belajar. hehe…
Pencerahannya melalui artikel berikut: Mudahnya Mengubah Link Hapus di Halaman View Aplikasi Web dari PHPMaker.
Pak Masino, bagaimana caranya merubah isi pada halaman List, misalnya field NIM dari database adalah 080332015, ketika tampil di halaman List diubah menjadi 08.033-2015.
kalau pake PHP Manual kan kira-kira berg-gini :
#… $pecah_satu=substr($nim,0,2);
#… $pecah_dua=substr($nim,2,4);
# … $pecah_tiga=substr($nim,4,7);
# …. echo $pecah_satu.$pecah_dua-$pecah_tiga ;
nah bagaimana penerpanya di PHP MAKER ?
trimakasih.
Gunakan server event Row_Rendered.
Silahkan baca topik Server Events and Client Scripts dari menu Help PHPMaker untuk informasi dan contoh kode lebih lanjut.