プラグイン > バグ報告・利用に関する質問 > 商品オプションプラグイン(ProductOption)について |
バグ報告・利用に関する質問
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
zN45n3wg79 |
投稿日時: 2020/1/17 13:45
対応状況: −−−
|
新米 登録日: 2020/1/14 居住地: 投稿: 5 |
Re: 商品オプションプラグイン(ProductOption)について >という事であれば、オプション料金の再計算を行う想定ではなさそうですね。
>そうであればplg_productoption_dtb_order_optionテーブル等は変更しないほうが良さそうな気もしますが >単純に新規注文登録時のロジックと管理画面で注文更新時のロジックが共通化されていて、意図せず更新されてしまっているのかもしれません。 >ただ、あくまで私の想像に過ぎませんので >詳しい仕様については、プラグインの配布元に問い合わせされたほうが良いかと思います。 ありがとうございます!開発元に問い合わせしてみます。 数日間にわたりお付き合い頂きましてありがとうございました! |
468 |
投稿日時: 2020/1/17 13:05
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 商品オプションプラグイン(ProductOption)について >受注データの合計金額、受注明細データの金額は変わってはいません。
という事であれば、オプション料金の再計算を行う想定ではなさそうですね。 そうであればplg_productoption_dtb_order_optionテーブル等は変更しないほうが良さそうな気もしますが 単純に新規注文登録時のロジックと管理画面で注文更新時のロジックが共通化されていて、意図せず更新されてしまっているのかもしれません。 ただ、あくまで私の想像に過ぎませんので 詳しい仕様については、プラグインの配布元に問い合わせされたほうが良いかと思います。
|
zN45n3wg79 |
投稿日時: 2020/1/17 9:09
対応状況: −−−
|
新米 登録日: 2020/1/14 居住地: 投稿: 5 |
Re: 商品オプションプラグイン(ProductOption)について >私の個人的な感覚からすると判断の難しいところかと思います。
>受注データを過去の記録として考えれば、マスタの値が変わったからといって受注データ上の値が変わってしまうのはマズイと思いますが >受注データの更新を行う=受注データの内容を変更して再計算を行いたい。というパターンもあるかもしれませんので、まったく値が変わらないのも困るかもしれません。 貴重なご意見ありがとうございます。とても参考になります。 >因みに今回のような場合、plg_productoption_dtb_order_option_item.priceのみ値が変わるのでしょうか? >受注データの合計金額、受注明細データの金額も再計算されて変わるものなのでしょうか? 今の所はplg_productoption_dtb_order_optionのテーブルだけが変わりますが、 変わる所はpriceの他にoption_nameとoption_category_nameも変わります。 受注データの合計金額、受注明細データの金額は変わってはいません。 |
468 |
投稿日時: 2020/1/16 16:53
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 商品オプションプラグイン(ProductOption)について >eccubeの仕様上もし上記の処理をしないと重大なバグが発生するから上書き処理を行っているというものなのでしょうか?
私の個人的な感覚からすると判断の難しいところかと思います。 受注データを過去の記録として考えれば、マスタの値が変わったからといって受注データ上の値が変わってしまうのはマズイと思いますが 受注データの更新を行う=受注データの内容を変更して再計算を行いたい。というパターンもあるかもしれませんので、まったく値が変わらないのも困るかもしれません。 因みに今回のような場合、plg_productoption_dtb_order_option_item.priceのみ値が変わるのでしょうか? 受注データの合計金額、受注明細データの金額も再計算されて変わるものなのでしょうか?
|
zN45n3wg79 |
投稿日時: 2020/1/16 14:50
対応状況: −−−
|
新米 登録日: 2020/1/14 居住地: 投稿: 5 |
Re: 商品オプションプラグイン(ProductOption)について ありがとうございます。該当ファイルについて調べてみます。
因みに何故 >plg_productoption_dtb_order_option_itemの情報を常にマスターから上書きする処理が存在しているようですね。 この処理を行うようにされているのかがとても気になっております。 知見があまりなくて恐縮ですが、私の想像ではオプションの価格が変わったとしても 受注情報のテーブル(plg_productoption_dtb_order_option_item)の値までは変わらないものと思っておりました。 eccubeの仕様上もし上記の処理をしないと重大なバグが発生するから上書き処理を行っているというものなのでしょうか? もしよろしければ有識者の方で推測やご意見が頂ければ大変ありがたいです。 |
468 |
投稿日時: 2020/1/16 12:05
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 商品オプションプラグイン(ProductOption)について 受注情報更新時にplg_productoption_dtb_order_option_itemの情報を常にマスターから上書きする処理が存在しているようですね。
ざっとプラグインのソースを追ってみましたが 最終的に /app/Plugin/ProductOption/Repository/OrderOptionRepository.php function save()で plg_productoption_dtb_order_option_itemを再構築されているように思われます。 この辺りを改修すれば、注文時の金額を残せるのではないでしょうか?
|
zN45n3wg79 |
投稿日時: 2020/1/15 13:18
対応状況: −−−
|
新米 登録日: 2020/1/14 居住地: 投稿: 5 |
Re: 商品オプションプラグイン(ProductOption)について ありがとうございます。
>以下のテーブルは存在していますか? >plg_productoption_dtb_order_detail >plg_productoption_dtb_order_option_item はい。存在しています。 >オプションの価格については >plg_productoption_dtb_order_option_item.priceに保存されているのではないかと思われますが如何でしょうか? 仰る通り、plg_productoption_dtb_order_option_item.priceに保存はされております。 例といたしまして「ユーザーA」というユーザーが商品を購入し、「オプションA」というオプションをつけて購入されたとします。 そのオプションAの価格はユーザーAが商品を購入した時点では3000円に設定していたとします。 この時点でのユーザーAの受注データに紐づいているplg_productoption_dtb_order_option_item.priceは3000になっています。 その状態でeccube管理画面のオプション管理からオプションAの価格を3000円から4000円に変更したとします。 受注マスターから上記の例で挙げたユーザーAの受注明細が載っている注文番号を探し、 その注文番号から受注編集画面を開いて「受注情報を登録」を選ぶと ユーザーAの受注データに紐づいているplg_productoption_dtb_order_option_item.priceの値が4000に変更されてしまいます。 紐づいているものだけなので仮に「ユーザーB」というユーザーが、ユーザーAより先にオプションAをつけて商品を購入されていたとしても、 ユーザーBの受注データに紐づいているplg_productoption_dtb_order_option_item.priceの値は3000のままです。 ただし、ユーザーBの受注データも受注編集画面で「受注情報を登録」を選ぶと ユーザーBの受注データに紐づいているplg_productoption_dtb_order_option_item.priceの値も4000に変更されてしまいます。 以上のことからオプションの価格を管理画面から変更し、「価格を変更したオプション」が載っている受注データの受注編集画面で「受注情報を登録」すると 受注データに紐づいているplg_productoption_dtb_order_option_item.priceの値が変わってしまうので そこは変わらないようにしたいと考えています。 わかりにくい説明ですみません。 よろしくお願いいたします。 |
468 |
投稿日時: 2020/1/15 11:05
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 商品オプションプラグイン(ProductOption)について 該当のプラグインですが以下のテーブルで受注明細単位のオプション情報を保持しているのではないかと思うのですが
以下のテーブルは存在していますか? plg_productoption_dtb_order_detail plg_productoption_dtb_order_option_item オプションの価格については plg_productoption_dtb_order_option_item.priceに保存されているのではないかと思われますが如何でしょうか?
|
zN45n3wg79 |
投稿日時: 2020/1/14 13:25
対応状況: −−−
|
新米 登録日: 2020/1/14 居住地: 投稿: 5 |
商品オプションプラグイン(ProductOption)について 現在、受注管理>受注マスター>受注管理(受注登録・編集)画面にはユーザーが注文した際に設定したオプションの名前が表示されますが、
そこにオプション管理で設定した金額も表示したいように考えております。 そのため、デフォで商品を注文した際dtb_order_detailというテーブルに注文した商品の情報が格納されるように オプションの価格もどこかのテーブルに登録されないか、あるのならそこから引っ張ってこれないかと思い、 テーブルを調べてみました。 その結果 ・オプションの名前や価格を設定した際登録されるテーブル:A ・受注した際に格納されるテーブル:B ということがわかりました。 上記を踏めて検証を行った結果、 管理画面からオプション価格を変更し、受注管理(受注登録・編集)画面を更新すると、 受注データが格納されているテーブルBの中身も更新されてしまうことがわかりました。 そのためやりたいことが実現できずに困っております。 上記のような場合みなさまどうされているでしょうか? ご意見・ご教授いただけますと幸いです。 よろしくお願いいたします。 ■使用しているバージョン EC-CUBE:3.0.17 DBサーバー:MySQL 5.7.27 WEBサーバー:Apache PHPバージョン:7.2 商品オプションプラグインバージョン:1.7.6 |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |