Seiji Sogabe
sogab****@alles*****
2005年 4月 17日 (日) 03:13:05 JST
こんにちは、曽我部です。 Margy Mutoh wrote: > 曽我部さん、こんにちは。Margyです。(長文です。すみません) > > ご報告遅くなりましたが、アドバイスいただいたコード、無事 > 動作確認しました。ありがとうございました。m(_ _)m > おかげさまで、だいぶやりたいことが見えてきまして、これを > 参考にうちのショップに最適な解決方法を模索しておりました。 > 結局、 > > 1)基本的には曽我部さんの案のように、常温/クール混在での > チェックアウトを許さない方向で、 > > 2)配送モジュールで、ではなく、在庫数不足の警告のように、 > 「カートを見る」ページ(shopping.php)で警告を出す > (〜できればチェックアウトさせない) > > …というスタイルが最善であろうという結論に至りました。 たしかに、最後に警告を出すよりこちらのほうが、親切ですね。 > ---------------------------------------------------------------- > ●判定パターン > ・常温(無印)/冷蔵(-C)/冷凍(-F) の3パターン > > ●動作パターン > ・1点でも他と違う配送温度が混在していたら、その商品をカートに > 入れてカートの中身が表示された時点で警告を表示する > ※admin基本設定-ショップ情報の「商品の追加後にカートを表示」= true > > ◎TODO > ・配送温度が混在している(mixed)場合、警告表示とともに、 > shopping_cart.phpの「レジヘ」ボタンを隠し、header.phpの「レジヘ > 進む」リンクを無効にして、配送選択ページへ進ませない shopping_cart.phpはわりと簡単にできそうですが、header.phpのほうは 力技以外は少し工夫がいりそうです。 > ・混在エラーが出た場合、在庫切れ商品のように、shopping_caret.php > で配送温度の違う商品に目印を表示する(どの商品がひっかかったかを > 明確に提示するため) 配送温度の違う商品をどう判断するかは置いといて、 classes/shopping_cart.phpの get_products()で、商品の配送温度を判断して $products_array[]に追加しておけば、少なくとも商品の配送温度を カートで表示できそうです。 > ---------------------------------------------------------------- > catalog/shopping_cart.php > ※108行目あたり… ですが、処理は変わらないほうですが、 <?php $delivery_temperature = $cart->get_delivery_temperature(); $text = ''; switch ($delivery_temperature) { case "normal": $text = '*** 現在のカートの中身は、すべて常温便でお届けする商品です ***'; break; case "chilled": . (省略) . } ?> <tr> <td class="stockWarning" align="center"><br><?php echo $text; ?></td> </tr> ?> のほうが、見やすいと思います。"stockWarning"はちょっとアレですが。 では。 -- sogab****@alles*****