krd Posted June 10, 2014 Share Posted June 10, 2014 Mohon bantuan untuk solusi nya dari teman-teman, para ahli presta shop dan para senior presta shop. Saat ini saya sedang mencoba membuat toko online menggunakan prestahop 1.6 Ada sedikit permasalahan pada konfigurasi shipping. Saya sudah input semua Zona, State, Kurir. Dan juga berat setiap product. Misal untuk tujuan Bekasi biaya JNE Rp 8000,- per 1 kg. Tetapi saat saya test dengan mencoba proses pembelian, Pembelian 3 kg dgn tujuan Bekasi masih tetap biaya Rp 8000,-, sharusnya Rp 8000,- x 3 = Rp 24.000,- Mohon bantuan dari rekan-rekan ... Terimakasih banyak sebelumnya.. Link to comment Share on other sites More sharing options...
duredo Posted June 10, 2014 Share Posted June 10, 2014 kelemahan pakai manual shipping ya itu dia, ga bisa menggunakan kelipatan. jadi harus dibuat sendiri kelipatannya, misal 0-1kg 8000 / 1,1-2kg 16000 / 2,1-3kg 24000.... dan seterusnya. kenapa prestashop ga pakai sistem kelipatan? analisa sederhana ane karna ekspedisi di eropa ga serumit ekspedisi di indonesia dalam hal ongkos kirim. disini beda kecamatan bisa beda harga, di eropa mau jauh deket selama satu negara bisa jadi masih sama harganya. CMIIW kalau mau yang otomatis bisa beli module JNE nya para master disini, ada beberapa module sejenis, tapi kebetulan ane dari dulu pakai ini ~> www.prestanesia.com Link to comment Share on other sites More sharing options...
krd Posted June 11, 2014 Author Share Posted June 11, 2014 Om Jarkem, sebelumnya terimkasih banyak atas informasinya..Nais Inpo.. Setelah baca soni (sono sini) ditambah bongkar-bongkar dikit. kemarin saya temukan caranya. Masuk ke folder Classes, buka file Carrier.php. Ubah code return self::$price_by_weight[$cache_key]; menjadi return self::$price_by_weight[$cache_key]*$total_weight; pada function berikut ini : public function getDeliveryPriceByWeight($total_weight, $id_zone) { $cache_key = $this->id.'_'.$total_weight.'_'.$id_zone; if (!isset(self::$price_by_weight[$cache_key])) { $sql = 'SELECT d.`price` FROM `'._DB_PREFIX_.'delivery` d LEFT JOIN `'._DB_PREFIX_.'range_weight` w ON (d.`id_range_weight` = w.`id_range_weight`) WHERE d.`id_zone` = '.(int)$id_zone.' AND '.(float)$total_weight.' >= w.`delimiter1` AND '.(float)$total_weight.' < w.`delimiter2` AND d.`id_carrier` = '.(int)$this->id.' '.Carrier::sqlDeliveryRangeShop('range_weight').' ORDER BY w.`delimiter1` ASC'; $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow($sql); if (!isset($result['price'])) self::$price_by_weight[$cache_key] = $this->getMaxDeliveryPriceByWeight($id_zone); else self::$price_by_weight[$cache_key] = $result['price']; } return self::$price_by_weight[$cache_key]; // ubah ke return self::$price_by_weight[$cache_key]*$total_weight; } Bener sekali yang di bilang Om Jarkem. Dalam database nya. Weight yang dipakai berlaku dalam satuan Zone. Makanya dipakai Zone ID. Makanya didalam source codenya ada conditional perbandingan harga. apabila nilai beda makanya dimasukkan nilai max nya (getMaxDeliveryPriceByWeight($id_zone)). Ini tandanya sudah beda Zone. Setelah cek Soni, total weight ini sebenarnya total berat barang yang diorder. Jadi langsung saja aku kalikan dengan Harga barang. Semoga bisa membantu teman-teman yang masih mengalami permasalahan ini.. dan bila ternyata solusi ini masih memiliki masalah , mohon info nya yah. meskipun so par belum ada permasalahan dari sekian kali test........tengyu..tengyu..tengyu 1 Link to comment Share on other sites More sharing options...
duredo Posted June 11, 2014 Share Posted June 11, 2014 Wah menarik, yang lain monggo dicoba tutorial sederhananya Link to comment Share on other sites More sharing options...
krd Posted June 15, 2014 Author Share Posted June 15, 2014 Mohon maaf sebelumnya. Ternyata source code masih kurang. Sebelumnya : return self::$price_by_weight[$cache_key]*$total_weight; Dirubah menjadi : return self::$price_by_weight[$cache_key]*ceil($total_weight); KESALAHAN :Misal onkir jabotedetabek Rp 8000,- kalo berat barang hanya 0.4 kg, maka biaya shiping menjadi Rp 2000. SOUSI : perlu pembulatan keatas untuk berat barang, misal 0.4kg dibulatkan ke 1 kg. Baru dikalikan dengan biaya kirim. KENAPA : karena dalam JNE sendiri untuk Ongkir, berat dibulatkan keatas baru kali biaya. seperti berat 0,4kg, oleh JNE dianggap 1kg, maka biaya tetap Rp.8000,- Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now