[Tep-j-general] 配送方法の選択制限について メール便利用

Back to archive index

k-shimada k-shi****@koto-*****
2006年 9月 15日 (金) 02:31:05 JST


島田と申します。
過去ログでありましたが、
http://www.bitscope.co.jp/search/html/tep-j-general/msg05733.html
解決出来なかった為投稿させていただきました。
何卒ご教授いただけないでしょうか。よろしくお願い致します。

メール便の利用について、
flat.phpをカスタマイズし、
重量制限により checkout_shipping.phpで表示・非表示をさせたいと思ってい
ます。

重量設定の詳細としては、
メール便非対応の商品:0 kg
メール便対応の商品:1〜6kg
として、
カートに入っている全商品の総重量が1〜6kgの時だけ
checkout_shipping.phpにて flat.phpのモジュールを表示させるといったとこ
ろです。
(当方、メール便以外の商品に重量を割り当てる必要がないため。)

まず過去ログを参考に、$order->products[$index]['weight']の合計を出そうと
思いましたが、
合計の出し方が分からず、、、
for ($i=0, $n=sizeof($products); $i<$n; $i++) {
でくくって echo すれば配列の表示はできましたが、
合計を出せませんでした。

そこで重量の合計をあらわす関数を探し、
$shipping_weight がyuupack.phpにあり、
これをcheckout_shipping.phpの適当なところでechoさせたところ、
重量の合計を表示できました。

重量の合計を表示できたので、
$shipping_weight をflat.phpにて、
条件により$this->enabled = trueまたはfalseにすればいいと思い、
様々試してみたが、うまくいかない状況です。

分かりませんが、$shipping_weightが条件に反映されていないような、、、
条件のつけ方で、商品毎の重量にかかわらず表示・非表示が変わっちゃいます。

-----以下カスタマイズ内容です。--------------------------
function flat() {の下に、 global $shipping_weight; を書き加えました。
   (不要でしょうか?)


$this->enabled = ((MODULE_SHIPPING_FLAT_STATUS == 'True') ? true : false);
の下に、
if ($shipping_weight == 0){
$this->enabled = false;
}
if ($shipping_weight > 6){
$this->enabled = false;
}
を書き加えると、重量にかかわらず非表示になっています。

ちなみに、
上記文のfalseをtrueにかえると、条件がなんであろうと表示になります。
(例えば、if ($shipping_weight == 100)でも )



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