質問 > フロント機能 > /shopping/delivで「新しいお届け先を追加する」で登録できない件 |
フロント機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
zenta |
投稿日時: 2018/12/26 4:10
対応状況: 解決済
|
常連 登録日: 2016/10/18 居住地: 投稿: 59 |
Re: /shopping/delivで「新しいお届け先を追加する」で登録できない件 nanasess様、
ご多忙の中、お時間を頂きまして感謝いたします。 ご教授頂いた様に不要なプラグイン、モジュールを削除し、 以下のファイルを元ファイルに上書きしたところ住所登録ができるようになっている様でございます。 いろいろと詳細にご教授頂きまして本当に感謝いたします。 delivery_addr.tpl delivery.tpl LC_Page_Mypage_DeliveryAddr.php LC_Page_Mypage_Delivery.php |
nanasess |
投稿日時: 2018/11/19 10:25
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2313 |
Re: /shopping/delivで「新しいお届け先を追加する」で登録できない件 決済以外のプラグインが影響を及ぼしている可能性も考えられますし、実際に拝見しないことには、どう修正したらよいか判断できないです。
data/class/pages/Shopping/LC_Page_Shipping.php の lfRegistData で、フォームの情報を dtb_order_temp まで保存しているので、どこで情報が欠落しているか、デバッグしていくしかないと思います |
zenta |
投稿日時: 2018/11/19 4:50
対応状況: −−−
|
常連 登録日: 2016/10/18 居住地: 投稿: 59 |
Re: /shopping/delivで「新しいお届け先を追加する」で登録できない件 nanasess様、
ご教授頂きまして、感謝いたします。 SC_Helper_Purchase.phpのsaveShippingTempにて配送情報をセッション(shipping)に保存できていないということかもしれませんが、 xxxxxx.com/mypage/delivery_addr.php?page=/shopping/deliv.phpの時点では決算関連モジュールが起動されていないと思われますので、このモジュールがセッション(shipping)に何らかの影響を与えるとは考えられません。 結局のところ、セッション(shipping)はどの様な状況で作成されなくなりますでしょうか。あるいは、消されますでしょうか。 どこをどの様に変更すれば、”新しいお届け先を追加する”ボタンから情報を追加できるか、どうしても分からない状況なのですが、何かお分かりになりますでしょうか。 |
nanasess |
投稿日時: 2018/11/12 9:16
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2313 |
Re: /shopping/delivで「新しいお届け先を追加する」で登録できない件 data/class/pages/Shopping/LC_Page_Shipping.php の lfRegistData で、フォームのデータを dtb_order_tempに格納しています。
このあたりのプログラムが動いているかチェックすると良いと思います。 |
zenta |
投稿日時: 2018/11/12 0:53
対応状況: −−−
|
常連 登録日: 2016/10/18 居住地: 投稿: 59 |
Re: /shopping/delivで「新しいお届け先を追加する」で登録できない件 nanasess様、
ご教授頂きまして感謝致します。またご多忙のなか恐縮でございます。 現在、今回の件がdtb_order_tempにどのように関係しているのか調べております。 プラグイン関連に関しては、問題発生のページを考えれば多分決算関連のモジュールなのかなと思われます。(他のプラグインは無効化して試しましたが、関与しておりませんでした) ただ、このモジュールを無効化ができず、また一時的に削除しようにも関与するファイルが多く、なかなか削除できない状態です。 そこで、このモジュールを無効化、あるいは削除することなく、今回の問題を解決する手段があるかどうか思案しておりまして、 例えば、このモジュールがそのshippingというセッションの作成を阻んでいる、あるいはshippingを消去しているのが今回の問題の原因だと思われますが、 eccube側から力技でshippingを作成する設定にする、あるいはeccube側からこのモジュールのshippingを消去する設定を削除するような設定にするなどなのですが、可能だと思われますか。 |
nanasess |
投稿日時: 2018/11/9 9:33
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2313 |
Re: /shopping/delivで「新しいお届け先を追加する」で登録できない件 このへんですね。
フォームの値を dtb_order_temp に保存するようになっています。 https://github.com/EC-CUBE/eccube-2_13/blob/eccube-2.12.6/data/class/pages/shopping/LC_Page_Shopping.php#L373-L406 何かプラグインが悪さをしている可能性はありませんでしょうか? |
zenta |
投稿日時: 2018/11/9 2:08
対応状況: −−−
|
常連 登録日: 2016/10/18 居住地: 投稿: 59 |
Re: /shopping/delivで「新しいお届け先を追加する」で登録できない件 nanasess様
ご教授頂きまして感謝致します。 dtb_sessionのsess_id、sess_dataのデータ型をtext型からlongtext型に変更し試しましたが、新しいお届け先を追加できません。セッションにshippingも存在していない様です。 他に原因があるかもしれませんが、もしこのshippingというセッションが存在しないことが、今回の直接的な原因であるとするならば、 これはどのタイミングで作成されるべきものなのでしょうか(作成を指定しているファイルはどれになるでしょうか)。 私のサイトでは何らかの原因でそれが作成されていないのかなとも考えております。 |
nanasess |
投稿日時: 2018/11/8 16:48
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2313 |
Re: /shopping/delivで「新しいお届け先を追加する」で登録できない件 dtb_session テーブルのデータ型が text 型になっていませんでしょうか?
longtext にすることで解決するかもしれません https://github.com/EC-CUBE/eccube-2_13/pull/141 http://svn.ec-cube.net/open_trac/ticket/1341 |
zenta |
投稿日時: 2018/11/8 14:11
対応状況: −−−
|
常連 登録日: 2016/10/18 居住地: 投稿: 59 |
Re: /shopping/delivで「新しいお届け先を追加する」で登録できない件 nanasess様 ご教授頂きまして感謝致します。 144行目のすぐ下にarray_keysがあり、$objPurchaseのgetShippingTempを呼び出し、$_SESSION['shipping'] を使用しようとしている模様ですが、LC_Page_Shopping_Deliv.phpをvar_dump($_SESSION);で調べると、shippingが存在していない様でございます。 どこで設定しているのか分かりませんが、セッションを設定する箇所で私の環境の場合shippingを設定できていないということでしょうか。(違う方向に向かっていたら申し訳ございません) LC_Page_Shopping_Deliv.php // お届け先複数指定 case 'multiple': // 複数配送先指定が無効な場合はエラー if (USE_MULTIPLE_SHIPPING === false) { SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, '', true); SC_Response_Ex::actionExit(); } SC_Response_Ex::sendRedirect('multiple.php'); SC_Response_Ex::actionExit(); break; default: // 配送IDの取得 $shippingData = $objPurchase->getShippingTemp(); $arrShippingId = array_keys($shippingData); if (isset($arrShippingId[0])) { $this->arrForm['deliv_check']['value'] = $arrShippingId[0] == 0 ? -1 : $arrShippingId[0]; } break; SC_Helper_Purchase.php function getShippingTemp($has_shipment_item = false) { if ($has_shipment_item) { $arrReturn = array(); foreach ($_SESSION['shipping'] as $key => $arrVal) { if (count($arrVal['shipment_item']) == 0) continue; $arrReturn[$key] = $arrVal; } return $arrReturn; } return $_SESSION['shipping']; } |
nanasess |
投稿日時: 2018/11/8 13:14
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2313 |
Re: /shopping/delivで「新しいお届け先を追加する」で登録できない件 その付近に、 array_keys() が使われている個所ありませんか??
|
(1) 2 » |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |