概要
EC-CUBE2系のスマートフォン版購入フローにおいて、/shopping/deliv.php からお届け先を追加した後、元の「お届け先の指定」画面に戻っても追加した住所が一覧に表示されない場合があります。
手動で /shopping/deliv.php をリロードすると追加住所は表示されるため、住所登録自体は成功しており、登録後の画面更新・遷移設計に起因している可能性があります。
対象箇所
主に以下の実装について確認したいです。
data/Smarty/templates/sphone/shopping/deliv.tpl
data/class/pages/mypage/LC_Page_Mypage_DeliveryAddr.php
data/class/SC_Display.php
data/eccube.js
現在の実装
スマートフォン版の sphone/shopping/deliv.tpl では、お届け先の追加・編集リンクが eccube.openWindow() を使って mypage/delivery_addr.php を開く構造になっています。
一方、LC_Page_Mypage_DeliveryAddr.php では、登録成功後に ParentPage へ sendRedirect() する条件が DEVICE_TYPE_MOBILE のみになっています。
if (SC_Display_Ex::detectDevice() === DEVICE_TYPE_MOBILE) {
// モバイルの場合、元のページに遷移
SC_Response_Ex::sendRedirect($this->getLocation($_POST['ParentPage']));
SC_Response_Ex::actionExit();
}
概要
EC-CUBE2系のスマートフォン版購入フローにおいて、
/shopping/deliv.phpからお届け先を追加した後、元の「お届け先の指定」画面に戻っても追加した住所が一覧に表示されない場合があります。手動で
/shopping/deliv.phpをリロードすると追加住所は表示されるため、住所登録自体は成功しており、登録後の画面更新・遷移設計に起因している可能性があります。対象箇所
主に以下の実装について確認したいです。
data/Smarty/templates/sphone/shopping/deliv.tpldata/class/pages/mypage/LC_Page_Mypage_DeliveryAddr.phpdata/class/SC_Display.phpdata/eccube.js現在の実装
スマートフォン版の
sphone/shopping/deliv.tplでは、お届け先の追加・編集リンクがeccube.openWindow()を使ってmypage/delivery_addr.phpを開く構造になっています。一方、
LC_Page_Mypage_DeliveryAddr.phpでは、登録成功後にParentPageへsendRedirect()する条件がDEVICE_TYPE_MOBILEのみになっています。