ユーザ登録時に複数配送プラグインにて複数配送用の住所テーブル「usces_msa」に本人住所が追加されない
タグ: 複数配送プラグイン
- このトピックには4件の返信、2人の参加者があり、最後にTakashi Teradaにより5年、 1ヶ月前に更新されました。
-
投稿者投稿
-
2019年10月17日 2:15 AM #88646Takashi Teradaモデレーター
ご担当者 様
——————————————-
WordPress のバージョン:5.2.4–ja
Welcart のバージョン: 1.9.22.1909201
PHP のバージョン:7.1.28
Welcart専用の拡張プラグインとバージョン:WCEX Multiple Shipping 1.1.10
ご利用のテーマ:welcart_default
症状を確認したブラウザ: [ Mac OS : Chrome, Safari ], [ Windows : Internet Explore 11 ]
サーバー:Xserver X10プラン
SSLの利用:常時SSL
——————————————–今回のトピックは既存のトピックを引き継いでいます。(*1)
期間が経った事、本体とプラグインが軽減税率関係で更新されたので再度投稿いたします。
また当方の制作サイトにて「複数配送プラグイン」の機能を公開させるために、該当箇所の情報提供をお願いいたします。お客様が複数配送先指定を望んでおり、「複数配送プラグイン」を購入させていただきました。
ただ当方の動作確認では正常に動作しないため(*2)、「複数配送プラグイン」の機能を公開できていません。
そのため当方の責任の中でプラグインの処理を一部改修(コメントアウト)させていただくことにしました。
影響を想定するため下記の質問に関してご回答をお願いいたします。プラグインの改修は当方の責任で行い、今後のプラグイン更新時の改修も当方で行います。
ご報告している「正常に動作しない(*2)」件の動作が御社にて確認していただけて、プラグインに反映いただけるようになると助かります。
お手数おかけいたしますが引き続き調査の方もよろしくお願いいたします。—————————————-
– 質問:改修箇所 –
[ 前提 ]
ユーザ登録時に合わせて複数配送用の住所テーブル「usces_msa」に本人住所を追加している箇所として「wcex_multiple_shipping.php」ファイルの「function msa_update_shpping_data_by_member( $args )」処理があります。
1861行目以降に管理者でない(!is_admin())場合は、登録したユーザ($args[‘mem_id’])が現在のユーザ($usces->current_member[‘id’])と同じであるか判定しており、異なる場合に処理抜け(return)しています。(*3)
ただしユーザ登録をした時点ではログインはされていないので、現在のユーザは「ID:0」のゲストのままです。上記判定では複数配送用の住所テーブルに本人住所は登録されずに処理抜けしてしまいます。(*4)[ 質問 ]
「wcex_multiple_shipping.php」ファイルの1863行目,18634行目(*3)のコードをコメントアウトさせて頂きたいと思います。
本来どんな場合を想定されたロジックか不明のため不安もあります。
処理が想定しているユーザ操作を教えてください、動作確認を行い、影響がある場合はそれにともなう改修も行います。
→ 繰り返しになりますが、ユーザ登録操作では現在のユーザはゲストなのでこの箇所が邪魔になっています、仕様としてはユーザ登録時に登録ユーザでログイン状態になっていなければ成立しない判定だと考えています。—————————————-
*1 既存のトピック
複数配送プラグインで新規登録のユーザが「usces_msa」テーブルに登録されない。
https://www.welcart.com/community/forums/topic/複数配送プラグインで新規登録のユーザが「usces_msa」*2 正常に動作しない
ユーザ登録時に複数配送用の住所テーブルの「usces_msa」に本人データ(msa_index:0)が登録されません。
そのためギフト用配送先設定画面を表示した際に「編集する配送先を選ぶ」プルダウンにデータを取得できなくてエラーを起こしています。
[ 困っていること ]
・決済時に複数配送先を選択した場合に、自宅(本人)を選べない。
・ギフト用配送先設定画面にてプルダウンによる切り替えでエラーを起こしているので、住所編集ができない。
→ 複数配送先を2件以上登録した場合は、初期画面でエラーを起こしても「編集する配送先を選ぶ」プルダウンの切り替えができるので、プルダウンの切り替えによって登録した配送先を呼び出すことが可能。*3 ユーザ不一致の際に処理抜け
1861行目 if( !is_admin() ){
1862行目 $usces->get_current_member();
1863行目 if( $args[‘mem_id’] != $usces->current_member[‘id’] )
1864行目 return;
1865行目 }*4 ユーザ登録をした時点ではログインはされていないので、現在のユーザはゲストのままです。
「新規入会フォーム」よりユーザ登録すると「完了」画面が表示されますがログイン状態にはなっておらず、ユーザ操作にて「会員ログイン」画面からログインを行う必要があります。
ユーザ登録が完了するとログインされている方がユーザアクションが減って理想的ですが、そうでない仕様であることは既存のトピック「新規会員登録時のログイン済み処理」にて推測しています。
そのためユーザ登録時の「$usces->current_member[‘id’]」は「ID:0」のゲストが仕様なのだと推測しています。
https://www.welcart.com/community/forums/topic/新規会員登録時のログイン済み処理以上
2019年10月21日 4:50 PM #88664yskysmrキーマスターこんにちは。
長らくご不便をおかけしまして、申し訳ございませんでした。本日 WCEX Multiple Shipping 1.1.11 をリリースいたしました。ダウンロードしてご確認くださいますでしょうか。よろしくお願いいたします。
2019年10月21日 5:33 PM #88667Takashi Teradaモデレーターyskysmr 様
お世話になっております。
ご対応ありがとうございます、最新版(Multiple Shipping 1.1.11)にて動作確認させていただきました。最新版にて問題が解消したケースと、解消できないケースがありました。
・商品購入時の「お客様情報」の「会員登録しながら次へ」より会員登録した場合に、登録ユーザが複数配送先に(本人)で登録されたことを確認いたしました。
・通常のログイン画面から遷移した新規入会フォームから会員登録した場合は、登録ユーザが複数配送先に(本人)で登録されていませんでした。追加いただいたロジック(*1)で「$_POST[‘member_regmode’] == ‘newmemberfromcart’」の判定式が購入時の「会員登録」にしか対応していないためだと思われます。
「新規入会フォーム」の場合の「$_POST[‘member_regmode’] :newmemberform」も判定に追加していただけると解消するかと思います。お手数おかけいたしますが、ご検討よろしくお願いいたします。
*1 ロジック
wcex_multiple_shipping.php > function msa_update_shpping_data_by_member( $args )
1862行目 if( $_POST[‘member_regmode’] == ‘newmemberfromcart’ ) {以上
2019年10月23日 6:19 PM #88682yskysmrキーマスターtaka4 様
本日 WCEX Multiple Shipping 1.1.12 をリリースいたしました。ダウンロードしてご確認くださいますでしょうか。よろしくお願いいたします。
2019年10月24日 12:46 PM #88692Takashi Teradaモデレーターyskysmr 様
お世話になっております。
ご対応ありがとうございます、最新版(Multiple Shipping 1.1.12)にて動作確認させていただきました。「新規入会フォーム」、「会員登録しながら次へ(決済時)」ともに会員登録した際に、登録ユーザが複数配送先に(本人)で登録されたことを確認いたしました。
また支障になっていました、下記に2点も解消されました。
・決済時に複数配送先を選択した場合に、自宅(本人)を選ぶ。
・ギフト用配送先設定画面にてプルダウンによる切り替えを行う。オンラインショップ(クライアント)の利用者が贈答品として利用することが多いので、1会計で複数の配送先を指定できるのは大変助かります。
ありがとうございます。 -
投稿者投稿
- このトピックに返信するにはログインが必要です。