質問 > 管理機能 > 【商品管理】商品登録CSV機能について |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
amayui |
投稿日時: 2013/2/26 19:54
対応状況: −−−
|
新米 登録日: 2013/2/23 居住地: 投稿: 9 |
【商品管理】商品登録CSV機能について EC-CUBE : 2.11.5
PHP : 5.3.5 PostgreSQL : 8.4.7 サーバ : 株式会社チロロネット(専有) ※ テストサーバ・本番サーバと同一環境です。 --------------------------------------------- お世話になります。 商品登録CSVを利用して、テストサーバからCSVをダウンロードし、本番サーバにCSVをアップロードすることを2回ほど行い、 次に、本番サーバの商品を編集(販売価格)したところ、商品検索結果に表示された商品の価格が「0〜10000円」と表示されていました。 通常価格は、テンプレート側で利用しないように設定しているため、「0〜10000円」と表示されることはないと思うのですが、 何か原因はわかりますでしょうか。 その時の手順を以下に記載します。 1. 登録済み商品の販売価格は「0円」で登録。 2. CSV出力設定は以下になっています。 ※ 順番は、テストサーバ・本番サーバとで合わせています。 --------------------------------------------- 商品ID 商品名 カテゴリID 表示ステータス 商品ステータス 商品種別ID 商品コード 販売価格 在庫数 在庫無制限フラグ 発送日目安ID 購入制限数 検索ワード(コメント3) 備考欄(SHOP専用) 一覧-メインコメント 詳細-メインコメント 詳細-サブタイトル(1) 詳細-サブコメント(1) 詳細-サブタイトル(2) 詳細-サブコメント(2) 詳細-サブタイトル(3) 詳細-サブコメント(3) 詳細-サブタイトル(4) 詳細-サブコメント(4) 詳細-サブタイトル(5) 詳細-サブコメント(5) 関連商品ID(1) 関連商品コメント(1) 関連商品ID(2) 関連商品コメント(2) 関連商品ID(3) 関連商品コメント(3) 関連商品ID(4) 関連商品コメント(4) 関連商品ID(5) 関連商品コメント(5) 関連商品ID(6) 関連商品コメント(6) 削除フラグ --------------------------------------------- 3. テストサーバからCSVをダウンロード。 4. 本番サーバにCSVをアップロード。 ※ 3. 4. を2回ほど行いました。 5. 商品の「販売価格」を編集し、検索結果を確認すると「0〜10000円」になった。 CSVのダウンロードとアップロードを2回行っていますが、両方とも同じデータです。 また、考えられる点として、規格管理機能をOFFにしていますが、こちらが関係していますでしょうか。 足らない情報があれば、お教えいただければと思います。 よろしくお願いいたします。 |
dkazuto |
投稿日時: 2013/2/26 21:30
対応状況: −−−
|
一人前 登録日: 2012/5/10 居住地: 投稿: 95 |
Re: 【商品管理】商品登録CSV機能について amayui様
○○円〜□□円という表示をされるのは、規格毎に価格が異なる場合です。 規格管理機能をOFFにされているということですが、 規格管理機能をOFFにする前に、規格商品を登録したということはありませんでしょうか。 規格管理機能をOFFにした時点で規格は登録・編集が出来なくはなりますが、 過去に既に規格を登録してあった商品に関しては、そのまま規格情報が引き継がれます。 以上、ご確認ください。 |
amayui |
投稿日時: 2013/2/26 23:49
対応状況: −−−
|
新米 登録日: 2013/2/23 居住地: 投稿: 9 |
Re: 【商品管理】商品登録CSV機能について dkazuto様
お世話になります。 引用:
なるほど。そうなんですね。 引用:
規格商品の登録作業は行っていないのですが、1点気付いた点として、 テストサーバ側では規格管理機能がONになっていました。 1. テストサーバ側で、商品を数点登録し、規格情報(デフォルト)は管理画面から削除を行った。 規格管理機能はONになっている。 2. 本番サーバ側は、CSVのアップロード前に、規格情報(デフォルト)は管理画面から削除を行った。 規格管理機能をOFFになっている。 という流れになります。 上記の手順でも、規格情報は引き継がれてしまうのでしょうか。 以上よろしくお願いいたします。 |
seasoft |
投稿日時: 2013/2/27 0:09
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7369 |
Re: 【商品管理】商品登録CSV機能について とりあえず、すぐ分かるところだけ、ザックリとレスします。
> また、考えられる点として、規格管理機能をOFFにしていますが、こちらが関係していますでしょうか。 OPTION_CLASS_REGIST でしょうか? だとしたら、テンプレートの表示・非表示をコントロールしている程度だったと思いますので、CSV 登録に関しては何ら作用(影響)が無いと思います。 それが、amayui 様の意図した動作か、意図しない動作かは分かりませんが。。。
|
amayui |
投稿日時: 2013/2/27 0:31
対応状況: −−−
|
新米 登録日: 2013/2/23 居住地: 投稿: 9 |
Re: 【商品管理】商品登録CSV機能について seasoft様
お世話になります。 引用:
なるほど。 OPTION_CLASS_REGIST を「0」に変更し、無効にしただけでは問題があるということですね。 意図していた動作とは違うことがわかりました。 過去の記事を探していると、CSV登録時の規格情報についてありましたので、 そちらを応用して、色々触ってみようと思います。 http://svn.ec-cube.net/open_trac/ticket/1570 以上よろしくお願いします。 |
amayui |
投稿日時: 2013/2/27 23:02
対応状況: −−−
|
新米 登録日: 2013/2/23 居住地: 投稿: 9 |
Re: 【商品管理】商品登録CSV機能について いつもお世話になっております。
こちらの修正を行っていると、以下のような現象に遭遇したので、引き続き書き込みを 行わせていただきます。 先日、seasoft様から書き込みをいただき、情報を整理して、確認したところ テーブル「dtb_products_class」の情報がCSVのアップロードによって、「product_class_id」 が異なるが「product_id」が重複した情報が登録されていることに気付きました。 そこで、CSVアップロード時の処理に問題があることも気付き、以下のバグ改修を元に、 修正作業を行いました。 http://svn.ec-cube.net/open_trac/ticket/1570 次に、「dtb_products_class」に登録されているデータの削除フラグを正しい情報に変更 するために、以下のSQL文を作成し、実行しました。 -------------------------------------------------------------------------------- UPDATE dtb_products_class AS dtb SET del_flg = 1 FROM ( SELECT max( dtb1.product_class_id ) AS product_class_id, dtb1.product_id FROM dtb_products_class AS dtb1 LEFT OUTER JOIN dtb_products_class AS dtb2 ON dtb1.product_class_id = dtb2.product_class_id AND dtb1.product_id = dtb2.product_id AND dtb2.del_flg <> 1 WHERE dtb1.del_flg <> 1 AND dtb1.product_id = dtb2.product_id GROUP BY dtb1.product_id ) tb2 WHERE dtb.product_class_id <> tb2.product_class_id AND dtb.product_id = tb2.product_id -------------------------------------------------------------------------------- 内容としては、CSVアップロードを行っているため、「product_class_id」が新しい方を 残し、古い方を全て削除(フラグを立てる)するようにしました。 次に、商品の検索を行い、金額の修正を行ってみたところ、修正した金額で一覧に表示さ れないことに気付きました。 ただし、商品詳細を確認すると、修正後の金額が表示されている状態でした。 そこで、取得のSQL文を手動で実行し、確認していると、商品検索時のSQL文では、 テーブル「dtb_products_class」の「del_flg」が「0」の情報を取得するようになっており 商品詳細(編集時)のSQL文では、テーブル「dtb_products_class」の全データを取得し、 LEFT JOIN と LIMIT を利用して、1つのデータが出るようになっていました。 そこで「del_flg」が「0」の場合のデータを取得するように変更を行ってみました。 ○ data/class/pages/admin/products/LC_Page_Admin_Products_Product.php -------------------------------------------------------------------------------- $table = <<< __EOF__ dtb_products AS T1 LEFT JOIN ( SELECT product_id AS product_id_sub, product_code, price01, price02, deliv_fee, stock, stock_unlimited, sale_limit, point_rate, product_type_id, down_filename, down_realfilename FROM dtb_products_class ☆☆ WHERE del_flg = 0 ) AS T2 ON T1.product_id = T2.product_id_sub __EOF__; -------------------------------------------------------------------------------- ※ ☆☆ が追記箇所になります。 これで、正しいデータが取得できることを確認したのですが、再度、編集を行ってみたと ころ、テーブル「dtb_products_class」の「del_flg」が「1」になっている情報を更新し ていることに気付きました。 ただし、更新を行った際に、その現象が発生したり、しなかったりすることを確認しまし たが、そこから先の問題が解決できていない状態です。 よろしければ、ご教示いただければと思います。 以上、よろしくお願いします。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |