バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > その他 > すごく初歩的な事だと思うのですが。。。

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
yamagata78
投稿日時: 2019/12/8 18:52
対応状況: −−−
新米
登録日: 2019/11/25
居住地:
投稿: 7
すごく初歩的な事だと思うのですが。。。
▼環境
[EC-CUBE]
新規インストール 3.0.18
[OS]
Linux
[PHP]
7.2.25
[データベース]
MySQL 10.3.20-MariaDB
[WEBサーバ]
Apache
[ブラウザ]
IE11,クローム最新,FireFOX最新
[導入プラグインの有無]
最近チェックした商品
注文ステータス一括変更プラグイン
売上ランキング
売上集計プラグイン
新着商品ブロックプラグイン
[カスタマイズの有無]
csvで規格も登録
参考→http://ohtacky.blogspot.com/2015/08/eccube3csv.html
検索範囲追加
参考→http://ohtacky.blogspot.com/2016/04/eccube-3.html

現在全ての商品に規格としてオプションを設けており、オプションを選択すると商品代金に+100円上乗せされるようになっています。
オプションを規格1として扱い[なし][あり+100円]とお客様に選択してもらえるようにしております。
現在全ての商品にこのオプションを取り付けているのですが、価格が+100円される為、PHPMyAdminから使用しているDBの"dtb_product_class"へアクセスし、[検索]から[class_category_id1]が[8]であり、尚且つ[price02]がXXX円のものを抽出し、手動で[price02]列に+100円した金額を手入力していっております。

一度の入荷が100種類に及ぶこともあるのでかなり手間を取られているのですが、何かいい方法ございませんでしょうか?

あまり詳しくないもので申し訳ございませんが、よいお知恵をお借りできましたら大変助かります。

宜しくご指導下さいませ。



468
投稿日時: 2019/12/9 11:43
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 1951
Re: すごく初歩的な事だと思うのですが。。。
CSVをインポートするカスタマイズにさらに手を加えるのが良いのではないでしょうか?

foreach ($c_list as $row['規格分類1(ID)'])
{
の箇所から規格分類分だけループしていると思いますので
(必ず[あり+100円]のclass_category_id1は8でしょうか?)
その{の下に
if ($row['規格分類1(ID)'] == 8) {
$row['販売価格'] += 100;
}
のようにclass_category_id1が8の時は販売価格に100円加算するような処理を追記すれば良いかと思います。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

yamagata78
投稿日時: 2019/12/10 21:46
対応状況: −−−
新米
登録日: 2019/11/25
居住地:
投稿: 7
Re: すごく初歩的な事だと思うのですが。。。
すみません、子どもが熱を出しており中々見れませんでした。


以下の様にすると良いのでしょうか?

【変更後】
src/Eccube/controller/Admin/Product/CsvImportController.php

213行明付近
// 商品規格が存在しなければ新規登録
// 20191128 修正
$ProductClasses = $Product->getProductClasses();
if ($ProductClasses->count() < 1) {
//複数規格登録の追加
$classcategory_id1 = $row['規格分類1(ID)'];
$c_list = explode(",",$classcategory_id1);
foreach ($c_list as $row['規格分類1(ID)'])
{
if ($row['規格分類1(ID)'] == 8) {
$row['販売価格'] += 100;
}
// 規格分類1(ID)がセットされていると規格なし商品、規格あり商品を作成
$ProductClassOrg = $this->createProductClass($row, $Product, $app, $data);
if ($BaseInfo->getOptionProductDeliveryFee() == Constant::ENABLED) {
if ($row['送料'] != '') {
$deliveryFee = str_replace(',', '', $row['送料']);
if (preg_match('/^\d+$/', $deliveryFee) && $deliveryFee >= 0) {
$ProductClassOrg->setDeliveryFee($deliveryFee);
} else {
$this->addErrors(($data->key() + 1) . '行目の送料は0以上の数値を設定してください。');
}
}
}

ご指導よろしくお願い致します。
+100円のclass_category_id1は8固定となっております。
468
投稿日時: 2019/12/11 8:23
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 1951
Re: すごく初歩的な事だと思うのですが。。。
ソースの記述は問題無いかと思いますが
CSV上で規格分類IDのセルはどのように入力されていますか?

例えば「1,8」と「8,1」が混在したりするのでしょうか?
カンマ区切りで規格の数だけIDを入力されているのではないかと思うのですが
必ず最後が「8」になるような形であれば問題無いかと思います。

もし、8が最後でない場合はもう少しコードに手を加えなければいけないと思います。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

yamagata78
投稿日時: 2019/12/12 12:12
対応状況: −−−
新米
登録日: 2019/11/25
居住地:
投稿: 7
Re: すごく初歩的な事だと思うのですが。。。
丁寧なご指導ありがとうございます。
CSVではN行に規格分類1(ID)を入力しておりまして、入力内容は7,8となっております。
※7が通常の商品で8が+100円のオプション付き商品。

早速ファイルを修正し明日の新商品入荷日に効果を試してみたいと思います。
明日にはまたご報告できると思います。

お力添えいただきまして誠にありがとうございます。
今後共よろしくお願い致します。

yamagata78
投稿日時: 2019/12/13 12:53
対応状況: 解決済
新米
登録日: 2019/11/25
居住地:
投稿: 7
Re: すごく初歩的な事だと思うのですが。。。
ご報告です。
本日無事にCSVを使って規格1の値段(+100円)の方まで無事にインポートすることができました!
購入テストも問題なく終わりました!
本当にありがとうございます!
丁寧にご指導頂きまして感謝の言葉もございません!
あ〜っ!これであのPHPMyAdminの作業から解放されます!
ありがとうございました!
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は56,735名です
総投稿数は94,621件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
nanasess
2024
4
468
1951
5
yuh
1611
6
umebius
1494
7
red
1379
8
h_tanaka
943
9
fukap
907
10
tsuji
856
11
shutta
835
12 ramrun 789
13
tao_s
783
14 karin 656
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

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

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