をアップデートしました。
今回の改修では、ゲスト注文を編集する際のMagento本体の仕様について、より自然になるように改修を行いました。
修正内容について、簡単にご説明します。

ゲスト注文の編集に関する問題点

ゲスト注文の編集には目立たないですが、幾つかの問題点があります。
順番に解説します。 

顧客グループが変わってしまう

ゲスト注文を編集すると、通常は「NOT LOGGED IN」となっている顧客グループが、設定で指定している会員のデフォルトグループになってしまいます。

この問題は以下の挙動の組み合わせによって発生します。

  • 管理画面の注文編集機能は、ゲスト注文の場合は顧客グループの情報を自動的に削除する仕様になっている。
  • Customerモジュール側では顧客グループがない場合に、システム設定を自動的に適用する仕様になっている。

つまり、せっかく注文編集機能がゲストになるようにしてくれているのに、Customerモジュールが後からその内容を上書きしてしまうのです。
そのため、顧客グループがシステム設定のものに勝手に変わってしまうのです。 

顧客の氏名が「ゲスト様」になってしまう

ゲスト注文を編集すると、必ず注文した顧客の氏名が「ゲスト様」になります。
この問題は、編集前の注文データから、 新しい注文データを作成する処理があるのですが、この処理中で編集前のものからコピーされるべきデータの定義に意図的な欠損があるために起きます。

もちろん、ゲスト注文の請求先(購入者)住所を編集する可能性もありますので、「ゲスト様」になることは間違っては居ないのですが、少し不自然ではあります。

誕生日や性別が消える 

この問題は、「ゲスト様」になってしまうという現象と同じです。
他にもアクセス元IPアドレスなどが消えます。

今回の更新でどう変わったのか?

今回の修正では、以下のように対処しています。

  • 消失するデータについては、編集前のものから引き継ぐように修正
  • 顧客グループは「NOT LOGGED IN」になるように修正

特にゲスト顧客の氏名については、請求先のものを使用するようにしていますので、万一名前が変わっても問題ないようになっています。