[Tep-j-general] Re: [***Spam***](Default) Re: クール便対応

Back to archive index

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*****




Tep-j-general メーリングリストの案内
Back to archive index