質問 > フロント機能 > 送料無料の際に、北海道・沖縄を無料ではなく値引きをしたい |
フロント機能
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
rastars |
投稿日時: 2019/3/29 14:40
対応状況: 解決済
|
新米 登録日: 2015/9/30 居住地: 投稿: 8 |
送料無料の際に、北海道・沖縄を無料ではなく値引きをしたい ▼テンプレート
[EC-CUBE] 3.0.17 [レンタルサーバ] エックスサーバ [PHP] 7.1.18 [データベース] MySQL 5.7.16 「1万円以上送料無料」の設定をしているのですが、「1万円以上送料 800円値引き」にしたい。 または、本州は「1万円以上送料無料」北海道と沖縄は「1万円以上で通常送料から800円値引き」をしたいと思っております。 「1万円以上送料 800円値引き」に関しては【ご注文内容のご確認】ページを開いたタイミングでは-800円された送料が記載されているのですが、支払方法を変更すると-800の表記になってしまい、それ以降どれを選択しても-800表記になってしまいます。 /** * 配送料無料条件(合計金額)の条件を満たしていれば配送料金を0に設定 * * @param Order $Order */ public function setDeliveryFreeAmount(Order $Order) { // 配送料無料条件(合計金額) $deliveryFreeAmount = $this->BaseInfo->getDeliveryFreeAmount(); if (!is_null($deliveryFreeAmount)) { // 合計金額が設定金額以上であれば送料無料 if ($Order->getSubTotal() >= $deliveryFreeAmount) { $Order->setDeliveryFeeTotal($Order->getDeliveryFeeTotal() - 800); // お届け先情報の配送料も0にセット $shippings = $Order->getShippings(); foreach ($shippings as $Shipping) { $Shipping->setShippingDeliveryFee(0); } } } } 「1万円以上送料無料」の設定をしているのですが、北海道と沖縄は通常送料から800円値引きにしたい。に関してはこちらの記事を参考にしたのですが希望の動きにならず詰まってしまっています。。 https://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=20910&forum=10 【ご注文内容のご確認】ページを開いたタイミングでは、設定した送料が記載されており、 北海道と沖縄に関しては、支払方法を変更するたびに送料が-800円ずつ引かれていき、本州に関しては1万円以上かごに入れても送料無料表記になりません。 /** * 配送料無料条件(合計金額)の条件を満たしていれば配送料金を0に設定 * * @param Order $Order */ public function setDeliveryFreeAmount(Order $Order) { // 配送先都道府県情報を取得。 $Shippings = $Order->getShippings(); $Shipping = $Shippings[0]; $prefId = $Shipping->getPref()->getId(); // 配送料無料条件(合計金額) $deliveryFreeAmount = $this->BaseInfo->getDeliveryFreeAmount(); if (!is_null($deliveryFreeAmount)) { // 合計金額が設定金額以上であれば送料無料 if ($Order->getSubTotal() >= $deliveryFreeAmount) { // 北海道・沖縄 if (in_array($prefId, array(1,47))) { $Shipping->setShippingDeliveryFee($Shipping->getShippingDeliveryFee() - 800); } // それ以外 } else { $Order->setDeliveryFeeTotal(0); // お届け先情報の配送料も0にセット $shippings = $Order->getShippings(); foreach ($shippings as $Shipping) { $Shipping->setShippingDeliveryFee(0); } } } } テンプレートを弄る程度の知識しかない為、これ以上どうすればいいのか分かりません。 お手数おかけしますがどのように変更すればよいかご教示いただけますでしょうか。 どうぞよろしくお願いいたします。 |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
» 送料無料の際に、北海道・沖縄を無料ではなく値引きをしたい | rastars | 2019/3/29 14:40 |
Re: 送料無料の際に、北海道・沖縄を無料ではなく値引きをしたい | 468 | 2019/4/1 8:38 |