EC-CUBE / EC-CUBE/ec-cube2

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

Open
#1,394 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
PHP
Stars
92
Forks
97
Avg merge
4d 2h
Merged PRs (30d)
9

Description

## 概要

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` のみになっています。

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

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.