バージョン選択

フォーラム

メニュー

オンライン状況

73 人のユーザが現在オンラインです。 (67 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 73
もっと...

サイト内検索

質問 > フロント機能 > 追加した配送方法の送料が反映されない

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ayumi
投稿日時: 2016/9/8 15:56
対応状況: 開発中
新米
登録日: 2016/9/8
居住地:
投稿: 5
追加した配送方法の送料が反映されない
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=16869&forum=11&post_id=74228

上記質問と同じ現象なのですが、
解決されてないようなので質問させていただきます。

品種別を新しく追加し、配送方法設定で新しい設定を作成しましたが送料が0円になってしまいます。

解決方法を教えてください。

よろしくお願いします。
umebius
投稿日時: 2016/9/8 16:03
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: 追加した配送方法の送料が反映されない
まず、dtb_delivテーブルには、対応する品種と配送方法を紐付けたレコードが挿入されていますか?

配送方法が表示されているのであればおそらくYESだと思います。

次に、dtb_delivfeeテーブルには上記dtb_delivテーブルのdeliv_idで各都道府県の送料が正しく登録されていますでしょうか?

ここあたりはあやしい気がします。

とりあえず上記の方法でDB登録に関する問題なのか、DBからの取り出しに関する問題なのかは切り分けられるように思います。

あとは/class/helper/SC_Helper_Delivery.php (SC_Helper_Delivery_EX.php)あたりをデバッグしていくことが考えられますが、プラグイン干渉などもある部分なので悩ましいです。


----------------
EC-CUBEカスタマイズ・高速化・脆弱性対策・SEO ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富

ayumi
投稿日時: 2016/9/8 16:38
対応状況: −−−
新米
登録日: 2016/9/8
居住地:
投稿: 5
Re: 追加した配送方法の送料が反映されない
umebius様

ご指摘ありがとうございます。

配送方法が表示されているので、対応する品種と配送方法を紐付けはできているかと思います。


>次に、dtb_delivfeeテーブルには上記dtb_delivテーブルのdeliv_idで各都道府県の送料が正しく登録されていますでしょうか?

上記は、SC_Helper_Delivery.phpでよろしいでしょうか。

末尾の記述が、


/**
* 都道府県から配送料金を取得する.
*
* @param integer|array $pref_id 都道府県ID 又は都道府県IDの配列
* @param integer $deliv_id 配送業者ID
* @return string 指定の都道府県, 配送業者の配送料金
*/
public static function getDelivFee($pref_id, $deliv_id = 0)
{
$objQuery =& SC_Query_Ex::getSingletonInstance();
if (!is_array($pref_id)) {
$pref_id = array($pref_id);
}
$sql = <<< __EOS__
SELECT T1.fee AS fee
FROM dtb_delivfee T1
JOIN dtb_deliv T2
ON T1.deliv_id = T2.deliv_id
WHERE T1.pref = ?
AND T1.deliv_id = ?
AND T2.del_flg = 0
__EOS__;
$result = 0;
foreach ($pref_id as $pref) {
$result += $objQuery->getOne($sql, array($pref, $deliv_id));
}

return $result;
}

/**
* 配送業者ID から, 配送料金の一覧を取得する.
*
* @param integer $deliv_id 配送業者ID
* @return array 配送料金の配列
*/
public static function getDelivFeeList($deliv_id)
{
$objQuery =& SC_Query_Ex::getSingletonInstance();
$objQuery->setOrder('pref');
$col = 'fee_id, fee, pref';
$where = 'deliv_id = ?';
$table = 'dtb_delivfee';

return $objQuery->select($col, $table, $where, array($deliv_id));
}
}


で終わっておりました。
やはり正しく各都道府県の送料が正しく登録されていないのでしょうか。

IDが3、全都道府県送料1,500円にしたいのですが、
どう記述すればよろしいでしょうか。

お手数ですが、宜しくお願い致します。
umebius
投稿日時: 2016/9/8 21:40
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: 追加した配送方法の送料が反映されない
>やはり正しく各都道府県の送料が正しく登録されていないのでしょうか。

こちら確認いただくために
phpMyAdminかphpPgAdminかで、dtb_delivfeeテーブルの中身をのぞくことは可能でしょうか?

deliv_id 、 fee_id 、 fee、 prefというカラムが並んでいないでしょうか。

このテーブルでdeliv_idが「3」の行が存在するかどうか。
存在するのであれば、feeの値はどうなっておりますか。
feeが0になっているようであれば1500に変更すれば何とかいける気がします。


----------------
EC-CUBEカスタマイズ・高速化・脆弱性対策・SEO ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,858名です
総投稿数は109,996件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1294
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.