Salah satu kelebihan dan fleksibilitas di PHPMaker adalah, adanya kemampuan untuk mengubah kode di class yang digunakan untuk mengekspor data ke file CSV. Artinya, kita dapat membuat class sendiri, berdasarkan class yang secara standar digunakan oleh PHPMaker.
Katakanlah kita ingin menghapus baris pertama data yang terdapat di file hasil Export to CSV, yang menampilkan nama-nama field. Cukup dengan menulis beberapa baris kode PHP berikut, dari bagian Global Code yang terdapat di bawah Server Events -> Global -> All Pages project PHPMaker Anda:
class MyExportCSV extends ExportCsv { // timpa kode di exportCaption dengan mengosongkannya public function exportCaption(&$fld) {} // timpa kode di endExportRow dengan kode berikut public function endExportRow($rowCnt = 0) { if ($rowCnt != 0) $this->Line .= "\r\n"; $this->Text .= $this->Line; } } // Ganti class standar ExportCsv dengan class buatan sendiri Config('EXPORT_CLASSES.csv', 'MyExportCSV');
Dari kode di atas, kita dapat membuat class sendiri yang bernama MyExportCSV yang merupakan perluasan (extends) dari class ExportCsv.
Di dalam class yang baru ini, kita menimpa salah satu method exportCaption yang fungsinya mengekspor nama field atau caption, dengan tidak menulis kode apapun di dalamnya.
Selain itu, kita juga mengganti kode yang terdapat di method endExportRow, yang bertujuan untuk menghapus baris pertama yang kosong, sehingga data pertama akan berada di baris pertama. Jika kode di method ini tidak kita sesuaikan, maka data akan ditempatkan di baris kedua dan baris pertama menjadi kosong.
Terakhir, jangan lupa kita harus mengganti nama class yang digunakan untuk mengekspor data ke file CSV dengan nama class kita sendiri. PHPMaker sudah menyediakan fungsi global yang bernama Config(). Parameter pertama EXPORT_CLASSES.csv adalah tipe class CSV, sedangkan parameter kedua MyExportCSV adalah nama class yang kita buat tadi.
See? Betapa mudah dan cepatnya bukan? Bukan mudah dan cepat saja, tapi betapa fleksibelnya PHPMaker yang sudah menyediakan kemampuan untuk mengganti kode di class yang digunakan untuk mengekspor data ke file CSV.
Tinggalkan Balasan