バグ報告 > 管理機能 > 商品の規格を再登録すると購入履歴詳細に商品情報が表示されなくなる |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
fukuti |
投稿日時: 2011/6/16 11:56
対応状況: −−−
|
新米 登録日: 2011/6/16 居住地: 群馬 投稿: 8 |
Re: 商品の規格を再登録すると購入履歴詳細に商品情報が表示されなくなる 最近導入しようとして、同様な現象が起きました
dtb_products_class_product_class_id_seqをいじって 更新のときは引き継いでinsertするようにしました。 現在テスト中ですが。 |
MPV |
投稿日時: 2011/6/18 12:55
対応状況: −−−
|
仙人 登録日: 2011/3/27 居住地: 投稿: 309 |
Re: 商品の規格を再登録すると購入履歴詳細に商品情報が表示されなくなる 当スレッドでコメントを頂きました皆様
当方、運用でしのぐと言ってからしばらく経ちましたが 受注後の数量変更や、お客さんからの注文内容の変更連絡が 意外に多く、やはり管理画面で直接受注内容を変更できた方が 助かるのですが・・・、対応は難しいでしょうか。 当方、事象を上げるぐらいしかできず、大変勝手なお願いで 申し訳ないのですが、具体的な修正方法などの検討がつかないもので 再度投稿いたしました。 可能であればご教授頂ければ幸いです。 どうぞよろしくお願いいたします。<(_ _)> |
seasoft |
投稿日時: 2011/6/18 17:47
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7365 |
Re: 商品の規格を再登録すると購入履歴詳細に商品情報が表示されなくなる 私自身が 2.11 で変更された商品規格の仕様を十分に把握しきれていませんが、現状で把握している範囲ですと fukuti 様が試されている方法が、2.11 で直ぐにできる範囲としては妥当な感じがしています。
テスト中との事ですので、結果がでましたら、情報をいただけると幸いです。
|
fukuti |
投稿日時: 2011/6/20 14:25
対応状況: 確認中
|
新米 登録日: 2011/6/16 居住地: 群馬 投稿: 8 |
Re: 商品の規格を再登録すると購入履歴詳細に商品情報が表示されなくなる dtb_products_classテーブル更新時のproduct_class_id引き継ぎについて
以下のように修正しテストを行いました。 ソースLC_Page_Admin_Products_ProductClass_Ex.php function registerProductClassのforループ内 1.$arrList['product_class_id'][$i]の中にproduct_class_idがあれば更新と判断 2.シーケンスdtb_products_class_product_class_idを退避 3.シーケンスdtb_products_class_product_class_idを1.のIDで置き換え 4.dtb_products_classテーブルのInsert 5.シーケンスdtb_products_class_product_class_idを2.のIDに戻す このときNextValを一度かけて置く ひと通りテストしてみましたが大丈夫そうです。 SC_Query.phpの中を見てみますとSetValはdropSequence、createSequenceで実装されている為 通常SetValのis_calledフィールドfalseと同様の動きになりますので注意が必要かと思われます。 ひき続きテストを行う予定です。 お気づきの点がございましたら書き込みお願いいたします。 |
MPV |
投稿日時: 2011/6/22 18:33
対応状況: −−−
|
仙人 登録日: 2011/3/27 居住地: 投稿: 309 |
Re: 商品の規格を再登録すると購入履歴詳細に商品情報が表示されなくなる fukuti様
ご教授頂きましてありがとうございます。 その後のテスト結果はいかがでしたでしょうか。 またお教え頂ければ幸いです。 また、勝手なお願いで大変恐縮なのですが 可能でしたら、(確認完了後のchangeset登録でも 結構ですので)ソースのご提示を頂ければ幸いです。 大変申し訳ありませんが、どうぞよろしくお願いいたします。 |
MPV |
投稿日時: 2011/6/24 11:48
対応状況: −−−
|
仙人 登録日: 2011/3/27 居住地: 投稿: 309 |
Re: 商品の規格を再登録すると購入履歴詳細に商品情報が表示されなくなる fukuti様
スレッドにコメントを頂きました皆様 自己レスになります。 遅くなりましたが、(大変つたないコーディングで恐縮ですが)動作確認をいたしました。 以下に修正した内容を記します。 また、確認は以下環境で行いました。 [EC-CUBE] 2.11.1 正式版 [レンタルサーバ] なし(開発用のXAMPP 1.7.4) [OS] Windows7 Professional [PHP] PHP 5.3.5 [データベース] MySQL 5.0.7 [WEBサーバ] apache 2.2.17 [ブラウザ] Firefox 4.0 LC_Page_Admin_Products_ProductClass.php function registerProductClassのforループ内 for ($i = 0; $i < $total; $i++) { // 更新フラグ初期化 $work_flg = 0; ・ ・ ・ $class_combination_id = $arrExists[$arrList['product_class_id'][$i]]['class_combination_id']; // 更新判定(fukuti様の修正手順1) if( ! empty( $arrList['product_class_id'][$i] ) ) { $work_flg = 1; // product_class_idを退避 $work_product_class_id = $arrList['product_class_id'][$i]; } $existsCombi = $objQuery->getRow('*', 'dtb_class_combination', 'class_combination_id = ?', array($class_combination_id)); ・ ・ ・ $arrPC['create_date'] = "now()"; // dtb_products_class_product_class_idの退避と置き換え(fukuti様の修正手順2,3) if ( $work_flg == 1 ) { $arrPC['product_class_id'] = $work_product_class_id; } else { $arrPC['product_class_id'] = $objQuery->nextVal('dtb_products_class_product_class_id'); } /* * チェックを入れない商品は product_type_id が NULL になるので, 0 を入れる */ $arrPC['product_type_id'] = SC_Utils_Ex::isBlank($arrPC['product_type_id']) ? 0 : $arrPC['product_type_id']; // INSERT(fukuti様の修正手順4) $objQuery->insert("dtb_products_class", $arrPC); // シーケンスを元に戻す(fukuti様の修正手順5) if ( $work_flg == 1 ) { // シーケンスを元に戻す $arrPC['product_class_id'] = $objQuery->nextVal('dtb_products_class_product_class_id'); } } この内容で動作確認したところ、別途以下のような現象が起こりました。 1)商品受注後に規格を変更して受注管理画面から受注内容を確認する → 修正内容のおかげで商品が見える状態になっている 2)商品が見える状態から別途、規格のない商品の追加を行う → 正常に追加される 3)追加後に、規格のある商品を削除する → 正常に削除される 4)削除後に再度、規格のある商品を追加する → 商品は追加されるが、本来規格がない商品の方に、規格のある商品の規格内容が表示されてしまう どうも、うまく商品の規格情報が引き継がれていないようです。 また、以下の別スレッドにもコメントいたしましたが、下記修正内容は適用済みの状態です。 「受注管理からの商品の追加」 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=8250&forum=9&post_id=39993#forumpost39993 に記載があったhttp://svn.ec-cube.net/open_trac/ticket/1319 ご教授頂ければ幸いです。 どうぞよろしくお願いいたします。 |
fukuti |
投稿日時: 2011/6/24 15:38
対応状況: −−−
|
新米 登録日: 2011/6/16 居住地: 群馬 投稿: 8 |
Re: 商品の規格を再登録すると購入履歴詳細に商品情報が表示されなくなる MPV様
このやり方であれば、シーケンスをもとに戻す処理は不要です。 直接シーケンスいじってしまおうと考えていたもので 受注管理での商品の追加について 規格が複数あると先頭の規格で追加されてしまうという現象が 当方では発生しています。 追加そのものができないというのはticket1319で無くなったのですが まだproduct_select.tplに問題があるやもしれません。 |
MPV |
投稿日時: 2011/6/24 16:52
対応状況: −−−
|
仙人 登録日: 2011/3/27 居住地: 投稿: 309 |
Re: 商品の規格を再登録すると購入履歴詳細に商品情報が表示されなくなる fukuti様
早々のご回答ありがとうございます。 引用: このやり方であれば、シーケンスをもとに戻す処理は不要です。 そうですか、ご指摘ありがとうございます。 修正いたします。 引用: 受注管理での商品の追加について 確かにticket1319を取り込んだ時点で商品の追加は可能になっていました。 とういうことは、以下の認識でよろしいでしょうか? ●本スレッドでの修正内容については、今まで表示されなかった 規格内容を変更した商品の表示が正常に行われているということで 問題はない ●規格内容が表示で引き継がれないのは product_select.tplに問題がある可能性?があって 表示されないもので、本事象とは別問題である fukuti様のその後のご確認結果やご見解なども よろしければお聞かせ頂けると幸いです。 どうぞよろしくお願いいたします。<(_ _)> |
fukuti |
投稿日時: 2011/6/24 17:25
対応状況: −−−
|
新米 登録日: 2011/6/16 居住地: 群馬 投稿: 8 |
Re: 商品の規格を再登録すると購入履歴詳細に商品情報が表示されなくなる 引用:
については当方の修正ミスでした。ticket1319の修正で問題ないです。 引用:
について確認しましたが、同様の現象は確認できませんでした。 dtb_order_detailを確認しましたが問題なさそうでした。 特定のパターンがあるかもしれません。 |
MPV |
投稿日時: 2011/6/24 17:54
対応状況: −−−
|
仙人 登録日: 2011/3/27 居住地: 投稿: 309 |
Re: 商品の規格を再登録すると購入履歴詳細に商品情報が表示されなくなる fukuti様
早々のご回答ありがとうございます。 引用: 確認しましたが、同様の現象は確認できませんでした。 当方の説明が足りない部分がございました。 申し訳ありません、補足いたします。 1)規格を2つ持つ商品の受注後に、規格を修正して受注管理画面から 受注内容を確認する(例:在庫数量を変更) → 修正内容のおかげで商品が見える状態になっている 2)商品が見える状態から別途、規格のない商品の追加を行う → 正常に追加される 3)追加後に、規格を2つ持つ商品を削除する → 正常に削除される 4)削除後に再度、規格を2つ持つ同じ商品を追加する(商品は同じだが規格は異なる指定でもよい) → 商品は追加されるが、本来規格がない商品の方に、規格のある商品の規格内容が表示されてしまう 規格を有する同一の商品という記載が抜けておりました。 再度ご確認頂ければ幸いです。 どうぞよろしくお願いいたします。 |
« 1 (2) 3 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |