Sejak versi 12, PHPMaker menambahkan server event baru yang bernama Language_Load. Server event ini berguna jika kita sebagai Web Developer ingin mengubah tulisan atau teks tertentu pada Aplikasi Web yang dihasilkan oleh PHPMaker.
Dengan menggunakan server event yang baru tersebut, maka kita tidak perlu lagi mengubah frase di setiap server event pada table terkait. Kita cukup hanya menggunakan satu server event saja sejak PHPMaker versi 12. Oleh karena itu, kita harus menambahkan pemeriksaan kondisi berdasarkan halaman yang sedang terbuka.
Katakanlah kita ingin mengubah teks atau caption pada tombol Add di halaman List hanya untuk table1 saja. Cukup dengan menulis sedikit kode PHP saja pada server event Language_Load, sehingga kode selengkapnya menjadi seperti ini:
// Language Load event function Language_Load() { if (ew_CurrentPage() == "table1list.php") { // hanya untuk halaman List milik table1 if (CurrentLanguageID() == "id") { $this->setPhrase("AddLink", "Tambah Record Baru"); } else { $this->setPhrase("AddLink", "Add New Record"); } $this->setPhraseClass("AddLink", ""); } }
Karena tombol Add menggunakan frase dengan ID AddLink, maka kita cukup menimpa frase dan class pada tombol ini seperti kode di atas. Artinya, setelah caption tersebut diubah, maka di tombol tersebut tidak ada lagi icon glyphicon-plus yang berasal dari Twitter Bootstrap.
Perlu diingat, bahwa untuk mengetahui ID frase tertentu, maka kita harus melihatnya dari file .xml yang berisi frase sesuai dengan bahasanya. File ini berada di sub-folder phplang pada Aplikasi Web yang dihasilkan oleh PHPMaker.
Dalam contoh kode di atas, kita berasumsi bahwa Aplikasi Web tersebut menggunakan multi bahasa. Jika bahasa yang sedang digunakan adalah Indonesia, maka caption tombol berubah menjadi Tambah Record Baru. Sedangkan jika bahasa yang aktif adalah bahasa Inggris, maka caption tombol berubah menjadi Add New Record.
Betapa mudah, cepat, dan menyenangkan sekali, bukan? 😀
Pak Masino
Jika ingin memindahkan TOMBOL ADD di halaman LIST menjadi diatas bagian List bagaimana yah ?
Aktifkan saja pengaturan Paging section at top dari menu PHP -> Page Options (Global), lalu generate ulang semua file script seperti biasa.
Salam kenal Mas Masino, kalau mau menambahkan judul header pada tabel untuk link tombol View, Edit, Delete di listpage gimana ya caranya?
Gunakan server event Page_DataRendering. Baca menu Help untuk info dan contoh lebih lanjut.
Pak masino, syaa baru saja upgrade phpmaker, dari v2017 ke V2019
if (CurrentPage() == “tbl_absenlist.php”) { // hanya untuk halaman List milik table1
if (CurrentLanguageID() == “id”) {
$this->setPhrase(“AddLink”, “TEST”);
} else {
$this->setPhrase(“AddLink”, “TEST”);
}
$this->setPhraseClass(“AddLink”, “”);
}
di versi 2019 dan 2021, tidak jalan kode ini, ada solusi gk pak ???
Kalau di versi 2021, coba yang ini:
Pak masino jika pake 2021 ke atas tidak berjalan kode diatas
Terima Kasih
Kode yang mana yang tidak jalan?
Saya pakai untuk master detail pak, dia tida berubah captionnya
Karena di halaman Master/Detail tidak ada phrase AddLink.
Berarti saya tidak bisa mengganti captionnya pak ?
Makanya harus jelas dulu, halaman Master/Detail yang dimaksud itu seperti apa link-nya?
pak masino, saya pake phpmaker versi 2020 kendala difield captionnya tidak muncul( di list, add, edit dan dixmlnya sudah sesuai) untuk solusinya bagaiamana pak?
Kalau di file .xml language-nya sudah ada, pastikan file .xml tadi di-upload ke web server-nya.
terima kasih pak masino, saya coba dulu