Seperti yang sudah kita ketahui, PHPMaker dapat menghasilkan fitur multi-bahasa pada Aplikasi Web yang dibangkitkan olehnya. Frase-frase yang digunakan oleh Aplikasi Web disimpan di dalam file XML. Bahkan, caption Table atau Field pun akan diekstrak oleh PHPMaker dari object Database dan ditempatkan ke dalam file XML tadi.
Ada kalanya Web Developer harus mengubah teks yang terdapat pada bagian judul kolom di halaman atau file dari proses Export Data, seperti Printer Friendly, Export to Excel, Export to HTML, dan sebagainya. Dan sudah bukan rahasia pula bahwa PHPMaker sangat fleksibel untuk mengubah teks atau frase yang sudah terdefinisi di dalam file XML tadi.
Artinya, kita sebagai Web Developer dapat mengubah teks tertentu tanpa harus mengubah frase tersebut secara manual dan langsung ke dalam file XML itu. Anda cukup menulis sedikit kode saja di dalam server event Page_Load untuk menimpa frase yang Anda inginkan.
Katakanlah kita akan mengubah frase atau tulisan di kolom dari Field yang bernama OrderID pada tabel orderdetails saat data tersebut di-export ke media lain, supaya hasilnya menjadi Pesananku.
Solusinya adalah, cukup taruh kode berikut ke dalam server event tadi yang terdapat di bawah lokasi Server Events -> Table-Specific -> List Page. Kode selengkapnya menjadi seperti ini:
// Page Load event function Page_Load() { //echo "Page Load"; if ($this->Export <> "") { Language()->setFieldPhrase("orderdetails", "OrderID", "fldcaption", "Pesananku"); } }
Perhatikanlah kode tadi. Kita memeriksa kondisi apakah halaman saat itu sedang dalam mode Export Data dengan menggunakan property Export milik object Page atau Table. Jika property ini tidak mengandung string kosong, maka itu artinya halaman sedang dalam mode Export, lalu gunakan method setFieldPhrase milik object Language untuk mengubah teks di judul kolom field OrderID.
Method setFieldPhrase memiliki 4 parameter. Parameter pertama adalah nama Table-nya, parameter kedua merupakan nama Field-nya, parameter ketiga merupakan ID dari object yang akan diubah; yang dalam hal ini adalah fldcaption, dan parameter keempat atau terakhir merupakan nilai teks yang baru.
Betapa mudah dan cepatnya, bukan? Wow, PHPMaker memang luar biasa keren! 😀
Cak Sobri mengatakan
Kalo mengubah isi nilainya gimana ya om ?
Masino Sinaga mengatakan
Pakai server event Row_Rendered. Gunakan property ViewValue milik object Field.
Cak Sobri mengatakan
Tapi itu tampilan di browsernya ikut berubah, kan ini permasalahan yang 15 digit keatas untuk export excel biar di browser tanpa petik, tapi hasil export menggunakan petik.
kalo event ini bisa gak di Row_Rendered ?
if ($this->Export “”)
Masino Sinaga mengatakan
Bisa.
Satyo mengatakan
Mau tanya mas,
Untuk ubah nilai di list, pakai ViewValue di Row_Render, tapi kenapa saat diekspor untuk nilainya belum berubah ya ( Perubahan hanya terjadi pada list view, tidak pada saat di eksport )?? untuk merubah nilai data penjumlahan pada saat di eksport bagaimana caranya ya?
Masino Sinaga mengatakan
Pastikan Anda tidak mengaktifkan item pengaturan Export original values dari menu Tools -> Advanced Settings.
Satyo mengatakan
Sudah mas, tidak saya centang. Tapi data yang di ekspor tetap data hasil penjumlahan aslinya, bukan perhitungan yang saya buat sendiri. Ada solusi lainnya mas?
Masino Sinaga mengatakan
Oh, iya. Saya baru ingat. Ini salah satu missing code di template PHPMaker yang saya komplain beberapa hari yang lalu ke Support PHPMaker dan sudah direspon dengan memperbaiki template PHPMaker.
Silahkan download template terbaru PHPMaker dari alamat ini: http://www.hkvstore.com/phpmaker/templatefile.asp lalu timpa file phpv110 di C:\Program Files\PHPMaker 11\template dengan yang baru didownload tadi.
Satyo mengatakan
Itu untuk versi 11 ya mas?
saya masih menggunakan versi 10, apakah ada yang versi 10 nya Mas?
Masino Sinaga mengatakan
Betul, itu untuk versi 11. Yang versi 10 sepertinya sudah tidak mereka support lagi. Saran saya sebaiknya upgrade saja ke PHPMaker 11, karena banyak fitur baru yang hebat ditambahkan di versi 11.
rama mengatakan
Pak saya kok masih belum bisa y, ketika lakukan export ke excel headernya msh nama field table.
Masino Sinaga mengatakan
Pastikan Anda sudah mengaktifkan pengaturan Export field caption dari menu Tools -> Advanced Settings, lalu generate ulang semua file script seperti biasa.