Semakin kaya fitur antar muka pada Aplikasi Web yang dihasilkan oleh PHPMaker, membuat Web Developer tertantang untuk menjadi lebih kreatif. Lho, kok bisa? Hehe, tentu bisa dong. Coba bayangkan, bahwa PHPMaker memberikan kesempatan yang sangat luas kepada Web Developer membuat Extensions agar dapat menambahkan fitur baru, atau bahkan menyesuaikan fitur yang sudah ada di PHPMaker.
Beberapa Extensions untuk PHPMaker yang saya buat dikenal dengan istilah Masino Extensions. Salah satu Extension yang ada di dalamnya adalah MasinoFixedWidthSite11 (untuk PHPMaker versi 11). Extension ini awalnya saya buat untuk mengubah gaya lebar tabel (table width style) dari yang semula menggunakan gaya lebar Auto atau lebar tabel otomatis menyesuaikan dengan jumlah kolom dan tulisan di judul tabel, menjadi gaya lebar 100%.
Meskipun demikian, gaya lebar Auto dan Scroll tetap tersedia di Extension tersebut. Jadi, ada tiga pilihan yang tersedia di sana. Anda sebagai Web Developer dapat mengoptimalkan ketiga pilihan gaya lebar tabel tersebut sesuai dengan kebutuhan.
Setiap pilihan gaya lebar tabel tadi memiliki karakteristik sendiri. Informasi lebih lengkap mengenai ketiga pilihan lebar gaya tabel tersebut dapat Anda lihat melalui artikel ini.
Kreativitas Web Developer tidak berhenti sampai di situ saja. Setelah bisa membuat dan/atau menggunakan Extension, beberapa temuan timbul terkait dengan gaya lebar tabel tersebut. Ternyata penggunaan gaya lebar tabel Auto menimbulkan sedikit kendala jika jumlah Record di dalam tabel pada halaman List hanya satu, dua, atau tiga Record dan pilihan Use button dropdown for links diaktifkan dari project PHPMaker Anda. Apa itu?
Jika tombol dropdown diklik, maka pilihan menu yang muncul di bawah atau di atas tombol dropdown tadi menjadi terhalang oleh horizontal scroll yang muncul di tabel tersebut. Akibatnya, Pengguna harus melakukan scroll ke bawah dengan menarik vertical scroll pada tabel ke arah bawah. Tentu hal ini menjadi tidak nyaman bagi Pengguna, bukan? Lalu bagaimana solusinya?
Lagi-lagi, bukan PHPMaker namanya jika Web Developer tidak bisa mengoptimalkan fitur yang disediakan oleh PHPMaker. Solusi untuk permasalahan tadi adalah, kita sebagai Web Developer harus menggunakan gaya lebar tabel 100% supaya tinggi tabel tidak lagi menjadi otomatis, tapi sesuai dengan tinggi tabel yang ditetapkan pada Extension MasinoFixedWidthSite11. Dengan menggunakan gaya lebar tabel 100%, maka pilihan menu menjadi kelihatan ketika tombol dropdown diklik.
Nah, kode selengkapnya yang menggambarkan solusi di atas cukup Anda taruh di bawah lokasi berikut: Client Scripts -> Global -> Pages with header/footer -> Startup Script (Perhatian: Kode di bawah ini hanya berfungsi jika Anda menggunakan Masino Extensions di project PHPMaker Anda. Jadi, harap maklum!):
<?php if (CurrentPage()->TotalRecs > 0 && CurrentPage()->TotalRecs <= 3 && CurrentPageID() == "list") { ?> <?php if (IsSysAdmin()) { ew_Execute("UPDATE ".MS_SETTINGS_TABLE." SET Table_Width_Style = '3' WHERE Option_Default = 'Y'"); LoadApplicationSettings(); } else { $sFilterUserName = str_replace("%u", ew_AdjustSql(CurrentUserName()), EW_USER_NAME_FILTER); ew_Execute("UPDATE ".EW_USER_TABLE." SET Table_Width_Style = '3' WHERE ".$sFilterUserName.""); LoadUserPreferences(); } ?> $(document).ready(function(){ if(document.URL.indexOf("#")==-1) { url = document.URL+"#"; location = "#"; location.reload(true); } }); <?php } ?>
Meskipun kode barusan diletakkan pada bagian Client Scripts yang biasanya terdiri dari kode jQuery atau Javascript, kita dapat mencampurkan kode PHP di sana untuk memeriksa kondisi jumlah Record di halaman List tersebut. Hal ini perlu, untuk memastikan bahwa gaya lebar tabel 100% tersebut hanya diterapkan jika jumlah Record di antara 1 sampai dengan 3. Tentu saja Anda dapat menyesuaikannya sesuai dengan kebutuhan Anda.
Saya sengaja tidak akan membahas lebih detail arti dari kode di atas, karena kode ini terkait dengan Extension MasinoFixedWidthSite11. Sebagai Web Developer, silahkan Anda eksplorasi fungsi global yang bernama LoadApplicationSettings() dan LoadUserPreferences() di dalam Extension tersebut. Demikian juga dengan beberapa tabel yang harus dihasilkan di Database Anda, seperti tabel settings dan users.
Update tanggal 6 Januari 2015: Kode di atas akhirnya sudah ditangani dari dalam Extension MasinoHeaderFooter11. Artinya, Anda tidak perlu lagi menambahkan kode tersebut ke dalam Client Scripts pada project PHPMaker Anda.
Betapa luar biasa dahsyat dan fleksibelnya PHPMaker dapat digunakan oleh Web Developer! 😀
Tinggalkan Balasan