バージョン選択

フォーラム

メニュー

オンライン状況

44 人のユーザが現在オンラインです。 (39 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 44
もっと...

サイト内検索

バグ報告 > フロント機能 > 追加した届け先を変更するとき

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
投稿日時: 2014/12/31 7:39
対応状況: −−−
追加した届け先を変更するとき
EC-CUBE:2.13.3
MySQL:5.6.21
PHP:5.4.35

上記環境にて

/shopping/deliv.phpや/mypage/delivery.phpから、追加した届け先の内容を修正しようとした時、内容をそのままに実行するとエラーが出ます。

2.12の頃はこんな挙動じゃなかったと思うので、バグかなと思い報告させてもらいましたが、いかがでしょうか?
red
投稿日時: 2014/12/31 9:58
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1570
Re: 追加した届け先を変更するとき
なにかカスタマイズしたりプラグインを入れたりしていませんか?
もしくは2.12のテンプレートを使っているとか

エラーログもあわせて添付してください


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

appleluong
投稿日時: 2014/12/31 11:13
対応状況: −−−
新米
登録日: 2014/12/31
居住地:
投稿: 1
Re: 追加した届け先を変更するとき
Thank you
ゲスト
投稿日時: 2015/1/3 1:46
対応状況: −−−
Re: 追加した届け先を変更するとき
ご返信ありがとうございます。

テンプレートはデフォルトのままで、カスタマイズは一切行っていません。
また、プラグインやモジュールも未導入で素のままです。

ログにエラーはなかったので、EC-CUBEのシステム的には問題無いのだと思いますが、↓この様な動作は開発の方的には想定通りなのでしょうか?


↓何も変更せず「登録する」をクリック
sumida
投稿日時: 2015/1/3 8:17
対応状況: −−−
仙人
登録日: 2013/2/10
居住地: 広島県呉市ときどき瀬戸内海
投稿: 641
Re: 追加した届け先を変更するとき
調べてみました。
該当する箇所は、
data/class/pages/mypageLC_Page_Mypage_DeliveryAddr.php
関数 lfRegistData で、

        if (!$objAddress->registAddress($sqlval)) {
            SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, '', false, '別のお届け先を登録できませんでした。');
            SC_Response_Ex::actionExit();
        }

このif文の部分が変更されているため、エラー表示されています。



根本的には、「追加」「変更」が同じ処理になっているのが問題ではないでしょうか?

        // other_deliv_id のあるなしで追加か編集か判定しているらしい
        $_SESSION['other_deliv_id'] = $_REQUEST['other_deliv_id'];

この一文があるので、
  ・$_SESSION['other_deliv_id']を設定していない場合 追加
  ・$_SESSION['other_deliv_id']を設定している場合  編集
という考え方もありますが、
このif文に、$_SESSION['other_deliv_id']の判定を加えても
  ・編集しない場合
  ・編集した住所が、既に存在する場合
の判断がつきません。

「追加」「編集」ボタンにより、テンプレートdelivery_addr.tplで設定される

        <input type="hidden" name="mode" value="edit" />

を「add」「edit」のように使い分けて処理を行う必要があるかと思います。
そうすれば、テンプレートで固定表示されている「登録」という文言も対応できると思います。
red
投稿日時: 2015/1/3 14:40
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1570
Re: 追加した届け先を変更するとき
ホントですね、なんだか変な処理になってるようです
バグの報告をしておきます

https://github.com/EC-CUBE/eccube-2_13/issues/7


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

ゲスト
投稿日時: 2015/1/3 14:51
対応状況: −−−
Re: 追加した届け先を変更するとき
>>sumida様
検証ありがとうございました。

>>red様
ご報告ありがとうございました。


バグの修正は、今後行われるものとして…

・応急処置的な方法でもいいので、エラーの文言を表示せずに、正常時と同じ動作にする方法は無いでしょうか?
・バグの修正が完了した事は、どこをチェックしておけば分かるのでしょうか?

正月中だというのに、質問ばかりで申し訳ありません。。。
またお時間ある時に、ご返答いただければ幸いです。
red
投稿日時: 2015/1/3 14:57
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1570
Re: 追加した届け先を変更するとき
今修正方法を調べていますが

SC_Helper_Address.phpのregistAddressの最後
return $ret; を return true; にすれば解決すると思います


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

red
投稿日時: 2015/1/3 15:04
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1570
Re: 追加した届け先を変更するとき
原因はこのコミットですね
http://svn.ec-cube.net/open_trac/changeset/23408


$ret = $objQuery->update($from, $sqlval, $where, $arrVal);

この返り値がtrueになるものと勘違いされてコミットされた結果、バグっているんだと思います。(実際には成功すると0が返ってきます)


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

ゲスト
投稿日時: 2015/1/3 15:12
対応状況: −−−
Re: 追加した届け先を変更するとき
原因の特定・修正方法の提示
素早くご対応いただき、本当にありがとうございました!

修正後は、私の環境でも問題なく動作しているようです。
本当に助かりました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,883名です
総投稿数は110,000件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1295
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.