Seiji Sogabe
sogab****@alles*****
2006年 4月 30日 (日) 18:11:41 JST
曽我部です。 Andre Hanai wrote: > 曽我部様 > > 返信有難うございます。 > > 曽我部様に指摘頂いたようにyamato.phpに下記のように追加してみましたが > 機能しません。 「機能しません」というのはあいまいな言葉です。 何を期待して、実際どうなったのですか? > $sum = 0; > foreach ($cart->get_products() as $product) { > $sum += (int) $product['products_cost']; > if ($product['products_cool'] == '0') { > $tmpQuote['cost'] = MODULE_SHIPPING_YAMATO_HANDLING; > } else { > $tmpQuote['cost'] = MODULE_SHIPPING_YAMATO_COOL; > } > } > } これだと、ただ、$sumに$product['products_cost']を足しているだけなので、 特になにもかわりません。 > products_coolに"1"の値が入っている商品を最後にカーとに追加すると問題はあ > りませんが、products_coolの値が"0"の商品を最後にカートに追加するとやはり > $tmpQuote['cost'] = MODULE_SHIPPING_YAMATO_COOL; > が追加されません。 期待していることが、 カートに入っている商品ごとにproducts_coolを判断して、 - 常温だったら、手数料にMODULE_SHIPPING_YAMATO_HANDLINGを追加 - クールだったら、手数料にMODULE_SHIPPING_YAMATO_COOLを追加 だとすると、上記のコードだと実現できません。 上記のコードだと、カートに入っている最後の商品が常温であれば手数料に MODULE_SHIPPING_YAMATO_HANDLINGが設定され、 クールならMODULE_SHIPPING_YAMATO_COOLが設定されます。 つまり、商品がいくつあっても、最後の商品についてのみ手数料を設定します。 先ほどのメールでも書きましたが、商品毎に手数料を加算するなら、 >> $tmpQuote['cost'] += MODULE_SHIPPING_YAMATO_HANDLING; >> } else { >> $tmpQuote['cost'] += MODULE_SHIPPING_YAMATO_COOL; のように、 +が必要です。 では。 -- sogab****@alles*****