質問 > 管理機能 > 【EC-CUBE 2.12.1】受注管理画面で受注を編集してもdtb_shipment_itemの数量が更新されません。 |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
MPV |
投稿日時: 2012/8/30 20:18
対応状況: −−−
|
仙人 登録日: 2011/3/27 居住地: 投稿: 309 |
【EC-CUBE 2.12.1】受注管理画面で受注を編集してもdtb_shipment_itemの数量が更新されません。 [EC-CUBE] 2.11.5 → 2.12.1
[レンタルサーバ] WADAX [OS] Red Hat Linux [PHP] PHP 5.1.6 [データベース] MySQL 5.0.95 [WEBサーバ] Apache [ブラウザ] Firefox 14.0.1 Google Chrome 21.0.1180.83 IE9 開発環境 [EC-CUBE] 2.12.1 [レンタルサーバ] なし(XAMPP 1.7.7のため) [OS] Windows7 Professional [PHP] PHP 5.3.8 [データベース] MySQL 5.5.16 [WEBサーバ] Apache/2.2.21 [ブラウザ] Firefox 14.0.1 Google Chrome 21.0.1180.83 IE9 お世話になります。 題記の通りなのですが、管理画面で登録済みの受注情報を編集して 数量を変更して更新したところ、注文者情報の表示は変更される のですが、注文受付メールのテンプレート表示を見ると、 配送情報の数量が前のままで更新されていませんでした。 ソースを自分なりに追ってみたのですが、 data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php の以下の箇所(742〜755行目)
var_dumpで$arrShipmentValues[$shipping_index]を 確認したところ、商品の数量がきちんと入っていない ようでした。 ただ、複数お届け先や異なるお届け先の場合、 どこからそれぞれの数量を取得して設定するのかが どうもよくわかっておりません。 ご教授頂ければ幸いです。 どうぞよろしくお願いいたします。<(_ _)> |
namacha |
投稿日時: 2012/8/31 1:03
対応状況: −−−
|
半人前 登録日: 2012/7/15 居住地: 投稿: 24 |
Re: 【EC-CUBE 2.12.1】受注管理画面で受注を編集してもdtb_shipment_itemの数量が更新されません。 eccube-2.11.5ベース&要望に合わせてカスタマイズしたコードに合わせて作ったものなので、もしかしたら整合が合わずにおかしいことになるかも知れませんが、私が対応した時のコードを乗っけておきます。
たしかバグ対策としてはこれだけだったはずですが、漏れてたらすみません。また、下記とは別の良いやり方があれば是非教えてください。 修正1. lfInitMultipleParamで設定しているバリデーション内容がおかしい(これのせいで一部の条件下で金額の再計算時にこける)。
修正2. 複数配送設定とか色々した時に金額の再計算がされない。…というか単価更新前にまき戻る現象対策。
修正3. 色々なパターンで配送情報の金額が反映されない。
|
MPV |
投稿日時: 2012/8/31 16:49
対応状況: −−−
|
仙人 登録日: 2011/3/27 居住地: 投稿: 309 |
Re: 【EC-CUBE 2.12.1】受注管理画面で受注を編集してもdtb_shipment_itemの数量が更新されません。 namacha様
ご丁寧な回答を頂きましてありがとうございました。 ご提示頂きました内容を開発環境に取り込んで 確認しましたところ、以下のような結果でした。 複数配送で受注編集後: dtb_shipment_itemの数量 ○(更新) 単一お届け先で受注編集後: dtb_shipment_itemの数量 ×(前のまま) 異なるお届け先で受注編集後: dtb_shipment_itemの数量 ×(前のまま) 単一お届け先や異なるお届け先の場合にも dtb_shipment_itemにはレコードができているようなので こちらも更新しないといけないような気がするのですが、 まだ解りかねております。 もしご存知でしたらご教授頂ければ幸いです。 どうぞよろしくお願いいたします。 |
namacha |
投稿日時: 2012/8/31 20:36
対応状況: −−−
|
半人前 登録日: 2012/7/15 居住地: 投稿: 24 |
Re: 【EC-CUBE 2.12.1】受注管理画面で受注を編集してもdtb_shipment_itemの数量が更新されません。 引用:
状況をうまく汲み取れないので、上記×のところの現象を再現できる手順をお願いしてもよろしいでしょうか? 仮にもし「受注商品情報で数量を更新した後に、計算結果の確認ボタンを押しても、お届け先情報の数量に反映されない」現象のことを言われているのでしたら、 ・仕様なのかバグなのか分からない。 (数量の辻褄があっていなくてもDBに登録できる仕様の可能性) ・どの配送先に割り当てて良いか判断ができない。 (数量の更新時に配送先が1つしかなくても、その後に追加したいのかも知れない可能性) ので、確か直していません。 …というお返事を書きながら同画面を軽く検証していたら、 「受注商品情報で商品を変更した後に、計算結果の確認ボタンを押しても、お届け先情報の商品が変わらない」 ことに気がつきました。しかもそのままDBに登録できますね。 (数量の辻褄があっていなくてもDBに登録できる仕様の可能性)を排除して、doRegister関数あたりで整合性の確認を本格的にしたほうが良い気もしてきました。 |
MPV |
投稿日時: 2012/9/1 12:18
対応状況: −−−
|
仙人 登録日: 2011/3/27 居住地: 投稿: 309 |
Re: 【EC-CUBE 2.12.1】受注管理画面で受注を編集してもdtb_shipment_itemの数量が更新されません。 namacha様
早々のコメントありがとうございました。 引用:
すみません、説明不足でした。 ?新規受注が登録されている ?受注編集画面で数量を変更する ?計算結果の再確認を行う ?修正内容で受注登録を行う というオペレーションです。 引用:
ソースを追って見たのですが、当方もdoRegister関数で 気になる個所がございます。 下記テーブルは配送情報が単一、複数送り先に関わらず 更新処理が行われているように見受けられます。 ・dtb_order ・dtb_order_detail 以下を09/03修正しました: 一方、dtb_shipment_itemは、フロント側での新規購入時に data/class/helper/SC_Helper_Purchase.php内のcompleteOrderで 登録された後、管理画面側では複数送り先以外は更新処理を 通過しないので更新されていないような・・・。 ですので受注編集時に単一送り先の場合でも dtb_shipment_itemを更新しないといけないような気がします。 |
namacha |
投稿日時: 2012/9/3 21:41
対応状況: −−−
|
半人前 登録日: 2012/7/15 居住地: 投稿: 24 |
Re: 【EC-CUBE 2.12.1】受注管理画面で受注を編集してもdtb_shipment_itemの数量が更新されません。 他の案件が忙しくなってしまい思うように見れていないので、小出しになってしまいすみません。
単一送り先の場合に、見えない数量を更新するのは末尾にあるようなコードでできると思います。 私の中での残件としては、 1. 受注した商品を変更した場合に、配送情報内の商品が更新されず、その情報のままデータベースに登録できる。 →商品を変更、削除した際に、配送情報にある商品のうち、受注情報にない商品を削除すればよい。 が、単一配送の場合にどうするか疑問が残る(画面からは見えないので)。 2. 受注情報と配送情報が矛盾したデータのまま登録できる。 →データベース登録時に、受注情報と配送情報の数量、商品が一致しなければ弾けばよい。 です。やり方によっては1は必要ない気もします。 ちなみにですが、のっけてるコードはあくまで暫定処置なので、ECCUBE側がこの件に対して対策した場合はそちらを適用すべきだと思います。lfCheckErrorで金額の再計算をすること自体がおかしいと思っています。
|
MPV |
投稿日時: 2012/9/6 23:34
対応状況: −−−
|
仙人 登録日: 2011/3/27 居住地: 投稿: 309 |
Re: 【EC-CUBE 2.12.1】受注管理画面で受注を編集してもdtb_shipment_itemの数量が更新されません。 namacha様
コメントを頂きましたのに、当方のお返事が遅れまして 大変申し訳ございませんでした。<(_ _)> ご提示頂きました暫定コードを取り込んで 確認しましたところ、当方の環境ではやはり 数量は更新できませんでした。 ですので、namacha様が仰られている以下の残件の1 引用:
に当たっていると思われます。 しかしながら受注情報の修正を管理画面で行った場合に 再度EC-CUBEのメールテンプレートを使用してメールを お客様宛に再度発送した場合、今の仕様では数量はじめ namacha様が仰られている配送情報内の商品名などが 更新されずに(しかも受注情報と配送情報が不整合状態で) 表示されてしまいますので問題だと思うのですが・・・。 (単一送り先の場合) namacha様、コミッターの方々、もし この仕様につきましてお判りになる方、 お時間がある時にコメント頂ければ幸いです。 どうぞよろしくお願いいたします。 |
nanasess |
投稿日時: 2012/9/7 9:19
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2314 |
Re: 【EC-CUBE 2.12.1】受注管理画面で受注を編集してもdtb_shipment_itemの数量が更新されません。 2.12 になって, デグレがなかなか収束しませんね...
2.11 で僕が開発した箇所ですが, 2.12 での変更が激しくついていけてません(汗) きちんと整理した方が良いと思うのですが, なかなか時間がとれず... 隙のある時にでも見てみたいと思います. |
MPV |
投稿日時: 2012/9/7 23:37
対応状況: −−−
|
仙人 登録日: 2011/3/27 居住地: 投稿: 309 |
Re: 【EC-CUBE 2.12.1】受注管理画面で受注を編集してもdtb_shipment_itemの数量が更新されません。 nanasess様
お世話になります。 コメントありがとうございます。 お時間のある時にご覧頂ければ幸いです。 当方も(自分で理解できる範囲ではありますが) 調べてみようと思います。 いつも現状報告ばかりで大変恐縮です。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |