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? 😀
aries mengatakan
Pak Masino
Jika ingin memindahkan TOMBOL ADD di halaman LIST menjadi diatas bagian List bagaimana yah ?
Masino Sinaga mengatakan
Aktifkan saja pengaturan Paging section at top dari menu PHP -> Page Options (Global), lalu generate ulang semua file script seperti biasa.
Andi mengatakan
Salam kenal Mas Masino, kalau mau menambahkan judul header pada tabel untuk link tombol View, Edit, Delete di listpage gimana ya caranya?
Masino Sinaga mengatakan
Gunakan server event Page_DataRendering. Baca menu Help untuk info dan contoh lebih lanjut.
andika mengatakan
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 ???
Masino Sinaga mengatakan
Kalau di versi 2021, coba yang ini:
Eka Dalas Pangestu mengatakan
Pak masino jika pake 2021 ke atas tidak berjalan kode diatas
Terima Kasih
Masino Sinaga mengatakan
Kode yang mana yang tidak jalan?
Eka Dalas Pangestu mengatakan
Saya pakai untuk master detail pak, dia tida berubah captionnya
Masino Sinaga mengatakan
Karena di halaman Master/Detail tidak ada phrase AddLink.
Eka Dalas Pangestu mengatakan
Berarti saya tidak bisa mengganti captionnya pak ?
Masino Sinaga mengatakan
Makanya harus jelas dulu, halaman Master/Detail yang dimaksud itu seperti apa link-nya?
achmad fatchur rosid mengatakan
pak masino, saya pake phpmaker versi 2020 kendala difield captionnya tidak muncul( di list, add, edit dan dixmlnya sudah sesuai) untuk solusinya bagaiamana pak?
Masino Sinaga mengatakan
Kalau di file .xml language-nya sudah ada, pastikan file .xml tadi di-upload ke web server-nya.
achmad fatchur rosid mengatakan
terima kasih pak masino, saya coba dulu