Skip to content

スマートフォン版のお届け先追加後に /shopping/deliv.php の住所一覧が更新されない場合がある #1394

@commercebase-pro

Description

@commercebase-pro

概要

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 では、登録成功後に ParentPagesendRedirect() する条件が DEVICE_TYPE_MOBILE のみになっています。

if (SC_Display_Ex::detectDevice() === DEVICE_TYPE_MOBILE) {
    // モバイルの場合、元のページに遷移
    SC_Response_Ex::sendRedirect($this->getLocation($_POST['ParentPage']));
    SC_Response_Ex::actionExit();
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions