質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Smarty

Smartyは、PHPアプリケーションで使用されるテンプレートエンジンです。

EC-CUBE

EC-CUBEは、主に日本国内で開発されているECコンテンツ管理システムです。ロックオン社のECKitを元にしてオープンソース化され、商品管理・受注管理・顧客管理・売上集計などECに特化した様々な機能を備えています。

Q&A

解決済

1回答

2035閲覧

【ECCUBE3】複数配送で送料無料商品が含まれている場合の配送料について

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Smarty

Smartyは、PHPアプリケーションで使用されるテンプレートエンジンです。

EC-CUBE

EC-CUBEは、主に日本国内で開発されているECコンテンツ管理システムです。ロックオン社のECKitを元にしてオープンソース化され、商品管理・受注管理・顧客管理・売上集計などECに特化した様々な機能を備えています。

0グッド

0クリップ

投稿2018/12/24 07:55

EC-CUBEバージョン:3.0.16
PHPバージョン:7.2.10
DBバージョン:MySQL 5.7.23
WEBサーバ:Apache/2.2.34 (Unix)

ECCUBE3で作成したサイトにて
複数の配送先を設定し、配送料無料対象商品をカートに入れるとカート内全ての配送料が無料になってしまうのですが、
配送料無料対象商品を配送しない場所は配送料金を有料にしたいです。

全ての配送料を無料にしている箇所(下記のコード)はなんとか
見つけられたのですが、カート内の情報から
配送料無料対象商品が含まれているお届け先の情報だけを抽出する方法などが、わかりません。

php

1//UtilService.php 2public function setDeliveryFreeProduct($Order) 3 { 4 $app = $this->app; 5 $exSouryo=0; 6 $deliv_free_flg = $this->checkDeliveryFree($Order); 7 if ($deliv_free_flg) { 8 $delivFee = $Order->getDeliveryFeeTotal(); 9 $before_total = $Order->getTotal(); 10 $before_payment_total = $Order->getPaymentTotal(); 11 12ここをコメントアウトすると全ての配送料が無料になる事はなくなった。 13//$Order->setDeliveryFeeTotal(0); 14 15 $shippings = $Order->getShippings(); 16 foreach ($shippings as $Shipping) { 17 if ($Shipping->getPref()->getId()%46==1) { 18 if ($Shipping->getShippingDeliveryFee()<600) { 19 $Shipping->setShippingDeliveryFee(600); 20 } 21 $Order->setDeliveryFeeTotal($Order->getDeliveryFeeTotal()+600); 22 $exSouryo+=600; 23 #$delivFee=0; 24 if($_SERVER["REMOTE_ADDR"]=="000.00.00.000"){ echo "DEBUG!! _ exSouryo::{$before_total}-{$delivFee}+{$exSouryo}=".($before_total - $delivFee+$exSouryo); } 25 }else{ 26 $Shipping->setShippingDeliveryFee(0); 27 } 28 } 29 $Order->setTotal($before_total - $delivFee+$exSouryo); 30 $Order->setPaymentTotal($before_payment_total - $delivFee+$exSouryo); 31 } 32 33 $app['orm.em']->persist($Order); 34 $app['orm.em']->flush(); 35 } 36

解決方法や参考URL等、どなたか恐れ入りますがよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/12/24 08:17

何度も何度も出てる質問だから過去の質問を見直してください
xenbeat

2018/12/24 08:42

「UtilService.php」のようなファイルは標準には無いはずですし、その中のロジックを見る感じ、業者に依頼された案件でしょうか。 標準仕様ならまだしも独自仕様が前提での質問であれば誰も的確な回答はできません。
退会済みユーザー

退会済みユーザー

2018/12/24 11:38

にしてもゴミソースだなぁ  北海道もしくは沖縄の場合の判定がひどい
guest

回答1

0

ベストアンサー

投稿2018/12/24 08:39

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/12/24 11:35

普通サービスユーティルだろうと思うが [EC-CUBE] 3.0.6 [レンタルサーバ] さくらレンタルサーバ スタンダード [OS] FreeBSD 9.1-RELEASE-p24 amd64 [PHP] PHP 5.4 [データベース] MySQL 5.5 [WEBサーバ] Apache/2.2.29 [ブラウザ] IE11/Chrome こんなんつれたなww
退会済みユーザー

退会済みユーザー

2018/12/24 12:04

さすがに回答雑すぎたか?(そこじゃない
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問