Seperti yang kita ketahui, Custom Files merupakan salah satu fitur yang baru disediakan sejak PHPMaker versi 11. Fitur ini bermanfaat untuk menampilkan konten yang dapat dikostumais sendiri oleh Web Developer. Fitur ini menggantikan fitur Generate a blank page pada PHPMaker versi 10 dan di versi-versi sebelumnya. Fitur Custom Files juga memungkinkan Web Developer untuk mengintegrasikan halaman tertentu dengan cara meng-include-kannya ke dalam Content milik Custom Files.
Yang menariknya adalah, ternyata fitur Custom Files ini juga dapat menampilkan konten yang berasal dari halaman List yang sebelumnya sudah berhasil di-generate oleh PHPMaker. Bahkan, Anda sebagai Web Developer dapat menyertakan lebih dari satu halaman List dalam sebuah Content di Custom Files. Hal ini tentu saja bermanfaat jika misalnya Pengguna ingin melihat data dari beberapa halaman List sekaligus melalui satu halaman saja, tanpa harus mengunjungi terlebih dulu setiap halaman List tadi.
Katakanlah kita akan menampilkan konten dari halaman List milik dua halaman berikut: Categories dan Trademarks. Untuk itu, cukup masukkan kode berikut ke dalam bagian Content dari Custom Files Anda:
<script type="text/javascript"> $(document).ready(function() { $(".ewToolbar").hide(); }); </script> <div class="panel panel-default"> <div class="panel-heading">Categories</div> <div class="panel-body"> <?php include_once "categorieslist.php"; ?> </div> </div> <div class="panel panel-default"> <div class="panel-heading">Trademarks</div> <div class="panel-body"> <?php include_once "trademarkslist.php"; ?> </div> </div>
Sampai di sini Anda sebagai Web Developer jangan berpuas diri dulu. Mengapa? Karena ternyata masih ada beberapa keterbatasan yang dimiliki kedua halaman List tersebut.
Keterbatasan Pertama: Kode untuk menampilkan Footer menjadi akan dipanggil lebih dari satu kali. Satu milik Custom Files, dan yang lainnya milik halaman List yang disertakan tadi. Untuk mengatasinya, maka Anda harus menyesuaikan beberapa baris kode di kedua halaman List tadi.
Ganti kode berikut di halaman categorieslist.php:
<?php include_once "footer.php" ?> <?php $categories_list->Page_Terminate(); ?>
menjadi seperti ini:
<?php //include_once "footer.php" ?> <?php //$categories_list->Page_Terminate(); ?>
Kemudian ganti juga kode berikut di halaman trademarkslist.php:
<?php include_once "footer.php" ?> <?php $trademarks_list->Page_Terminate(); ?>
menjadi seperti ini:
<?php //include_once "footer.php" ?> <?php //$trademarks_list->Page_Terminate(); ?>
Jika kode tersebut tidak Anda sesuaikan, maka tampilan Footer di halaman Custom Files Anda akan menjadi berpindah ke sebelah kanan atas. Sayangnya, server event Page_Terminate nampaknya mengandung kode untuk menutup koneksi Database di setiap halaman. Artinya, jika server event ini tidak dipanggil karena kode di atas ditutup, maka besar kemungkinan ada beberapa koneksi Database yang sebelumnya sudah dibuka tapi tidak ditutup, kecuali Pengguna langsung mengakses kedua halaman List tadi.
Keterbatasan Kedua, jika di halaman List yang disertakan tadi mengandung fitur Preview Detail menggunakan extension Preview atau MasinoPreviewRow11, maka fitur ini menjadi sama sekali tidak berfungsi ketika ditampilkan di halaman Custom Files tadi.
Mudah-mudahan saja di versi berikutnya, author PHPMaker dapat mencarikan solusi untuk mengatasi isu-isu tersebut. 😉
Rijal mengatakan
Bang, tanya lg nih :
– saya sudah buat Custom File dgn nama : cetak_identitas.php
– saya misal punya tabel : NIK, nama, alamat.
bagaimana caranya menambahkan satu Kolom di halaman List untuk menampilkan ‘Link’ ke cetak_identitas.php dengan membawa parameter NIK ( atau mungkin bisa mengganti Link Copy) krn tidak terpakai.
kalo di PHP Manual kan kira2 seperti ini :
Cetak Data
kalo di PHP Maker bgaimanaya…. sya sdh coba ngedit manual kok malah bingung.
trimakasih.
Masino Sinaga mengatakan
Untuk menambahkan kolom baru, silahkan ke artikel ini: Menambahkan Kolom Baru di Halaman List pada Aplikasi Web dari PHPMaker.
Sedangkan untuk menampilkan link, silahkan Anda modifikasi kode di dalam server event ListOptions_Rendered pada artikel tadi.
Rijal mengatakan
waduh bgmna ya langkah2nya. hehe, bingung.
sy sdh coba edit ‘manual’ file datalist sperti ini :
a href=”cetak_identitas.php?nik=nik->CurrentValue) ?>”>Cetak Data</a
tp nilai 'parameter' dari NIK blm tampil, malah smpat eror.
Rijal mengatakan
ngambil contoh dari menu Help yg ini :
a href=”mypage.php?id=MyField->CurrentValue) ?>”>My Link</a
Masino Sinaga mengatakan
$this nya mana? Teliti ulang kembali kode Anda!
Revi Novita mengatakan
Om mau nanya, bagian content dari Custom Files kita itu ada di bagian sebelah mana ya om Masino? Thanks before
Masino Sinaga mengatakan
Klik atau pilih dulu Custom File-nya dari panel Database di sebelah kiri, lalu klik tab Code (Server Events, Client Scripts and Custom Templates), lalu lompat ke lokasi Custom Templates -> Table-Specific -> Custom File -> Content.
Murniyati mengatakan
Salam…..
Apa artikel ini perlu diupdate ya….
Agar bisa digunakan untuk versi terbaru.
Sebab saya coba menampilkan error seperti dibawah ini :
C:\xampp\htdocs\demo2023\views\CategoriesList.php(8): Call to undefined method PHPMaker2023\demo2023\Test::isExport()
Masino Sinaga mengatakan
Artikel ini sudah sangat lama sekali, tahun 2014. Sekarang tahun 2023, sudah 9 tahun yang lalu. Yang jelas, tidak bisa begitu saja digunakan untuk PHPMaker 2023.
Untuk error tersebut, coba cek, seperti apa kode di baris ke-8 pada file views/CategoriesList.php?