Artikel ini dibuat untuk mennyempurnakan tulisan saya sebelumnya, Virtuemart Shipping Rate by Weight Module untuk Indonesia. Untuk memahami tulisan ini, sebaiknya anda membaca artikel sebelumnya terlebih dahulu.
Untuk digunakan di Indonesia, ada sedikit ketidak sempurnaan algoritma atas modul pengiriman yg saya buat, ketidak sempurnaan tersebut kurang lebih adalah sebagai berikut:
if( $d[“weight”] < 1 )
$algoritma_pengiriman = $WEIGHT_CONFIG[shipping_rate_package_fee + shipping_rate_value];
} else {
$algoritma_pengiriman = $WEIGHT_CONFIG[shipping_rate_package_fee + (weight * shipping_rate_value)];
if( $d[“weight”] > 1 )
$algoritma_pengiriman = $WEIGHT_CONFIG[shipping_rate_package_fee + (weight * shipping_rate_value)];
Perhitungan tersebut mengakibatkan perkalian langsung atas berat produk terhadap harga pengiriman/kg, padahal seluruh expedisi di Indonesia menerapkan pembulatan keatas dalam menghitung tarif pengiriman. 1.1 kg dihitung 2 kg, 2.7 kg dihitung 3 kg dst.
Untuk membulatkan berat barang, anda harus menggunakan fungsi php ceil, ada dua fungsi pembualatan dalam php;
- Fungsi Ceil yang akan menghasilkan nilai dengan pembulatan keatas (contoh : 8.1=9).
- atau fungsi Floor yang merupakan kebalikan dari fungsi Ceil yaitu akan menghasilkan nilai dengan pembulatan kebawah (contoh : 8.9=8).
Pertanyaannya, nilai mana yang harus kita bulatkan?
Mari kita mulai…
dari beberapa eksperimen yang saya buat, agar lebih stabil, pembulatan harus dilakukan pada string yang dihasilkan oleh virtuemart, dalam hal ini apalagi kalau bukan $weight itu sendiri?
Silahkan buka file administrator/components/com_virtuemart/classes/ps_chekout.php, lihat kode baris 774
- kode sebelumnya $vars[“weight”] = $weight_total;
- ganti menjadi $vars[“weight”] = ceil ($weight_total);
Silahkan coba modul pengiriman anda, sekarang nilai berat barang telah dibulatkan keatas.
Saya harap tulisan ini bisa menjawab permintaan rekan2 atas penyempurnaan modul tersebut.
Pitrabayu aka Fire_Starter
notes: bagi anda yang malas mengedit, anda bisa download file ps_chekout.php yang sudah dirubah, atau sekedar mencoba modul pengiriman ini di salah satu web site e-commerce yang telah menggunakan modul ini di Seragam Kerja, Jaket, Kemeja, Pakaian Kantor dan Safety Vest
http://www.id-joomla.com/tutorial