質問 > フロント機能 > dtb_products.main_commentが長すぎると送料が反映されない場合がある |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
lamps |
投稿日時: 2015/1/14 15:50
対応状況: −−−
|
新米 登録日: 2015/1/14 居住地: 投稿: 5 |
dtb_products.main_commentが長すぎると送料が反映されない場合がある [EC-CUBE] 2.12.5
[レンタルサーバ] XSERVER [PHP] PHP 5.3.3 [データベース] MySQL 5.5.37 -------------------------------- お世話になります。 初めて投稿させて頂きます。 商品データのメインコメントが長い場合にこの現象が起きてしまうようです。 /shopping/payment.php にてお届け時間の選択ができなず、/shopping/confirm.php で送料が0円となってしまいます。 試しにメインコメントを少なくしてみたら、お届け時間の選択もでき問題なく送料も反映されました。 事象としては下記に類似しているので、dtb_session.sess_dataをlongtextにしましたが解消されていません。 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=14098&forum=1 メインコメントを少なくするのは出来るだけ避けたいので、他の解決方法を探しています。 よろしくお願い致します。 |
red |
投稿日時: 2015/1/14 20:14
対応状況: −−−
|
神 登録日: 2010/2/15 居住地: 東京都 投稿: 1570 |
Re: dtb_products.main_commentが長すぎると送料が反映されない場合がある メインコメントに何文字ぐらい入れているんでしょうか?
セッションには、メインコメントは入っていないので、メモリがあふれているんじゃないかと思います
|
yuh |
投稿日時: 2015/1/14 23:08
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: dtb_products.main_commentが長すぎると送料が反映されない場合がある SC_CartSessionのgetCartListの中でgetDetailAndProductsClassでセッションに入れている部分があるので、それをいったん変数に受け取って
adjustSessionProductsClassを実行した上でセッションに入れなおすとかどうでしょう? |
lamps |
投稿日時: 2015/1/15 13:49
対応状況: −−−
|
新米 登録日: 2015/1/14 居住地: 投稿: 5 |
Re: dtb_products.main_commentが長すぎると送料が反映されない場合がある red 様
ご連絡いただきありがとうございます。 およそ340文字(530バイト)程度を超えるとこの現象が発生してしまいます。 メモリについては、memory_limitを512Mに設定していてapacheエラーも起きてないので、特に問題ないとは思っているのですが。 また、この現象が起こる場合、/shopping/confirm.php にて送料0円に加えて、「お届け先」情報も表示されていないようです。(注文完了メールでも同様) セッションまわりが怪しいと思っているのですが、red様がおっしゃる通りsess_data自体にはmain_commentは入らないので、よくわからない状態です。。 |
lamps |
投稿日時: 2015/1/15 14:30
対応状況: −−−
|
新米 登録日: 2015/1/14 居住地: 投稿: 5 |
Re: dtb_products.main_commentが長すぎると送料が反映されない場合がある yuh 様
ご連絡いただきありがとうございます。 $this->cartSession[$productTypeId][$i]['productsClass'] =& $objProduct->getDetailAndProductsClass($this->cartSession[$productTypeId][$i]['id']); の部分を下記のように変更してみました。 $hoge = $objProduct->getDetailAndProductsClass($this->cartSession[$productTypeId][$i]['id']); $this->adjustSessionProductsClass($hoge); $this->cartSession[$productTypeId][$i]['productsClass'] = $hoge; 結果、下記メッセージが表示されカートに商品が入らなくなってしまうようです。 ---------------- ※ 現時点で販売していない商品が含まれておりました。該当商品をカートから削除しました。 ※ 現在カート内に商品はございません。 ---------------- |
yuh |
投稿日時: 2015/1/15 14:45
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: dtb_products.main_commentが長すぎると送料が反映されない場合がある ちょっと調べて修正しますー
|
yuh |
投稿日時: 2015/1/16 0:36
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: dtb_products.main_commentが長すぎると送料が反映されない場合がある SC_ProductのgetDetailAndProductsClassに
このような形でセッションに入れる前に情報を削除する感じで行うのはどうでしょう? |
lamps |
投稿日時: 2015/1/16 17:07
対応状況: −−−
|
新米 登録日: 2015/1/14 居住地: 投稿: 5 |
Re: dtb_products.main_commentが長すぎると送料が反映されない場合がある yuh 様
ご連絡いただきありがとうございます。 セッションに入れる前にメインコメントを削除することで無事解決しました。 ありがとうございます。 因みにですが、今回のような事象のそもそもの原因は何が考えられますでしょうか? なぜメインコメントが長いとこのようなことが起こるのか、いまいちわかっておりません。 もし何かわかるようでしたら、ご教授いただけると助かります。 |
red |
投稿日時: 2015/1/16 18:18
対応状況: −−−
|
神 登録日: 2010/2/15 居住地: 東京都 投稿: 1570 |
Re: dtb_products.main_commentが長すぎると送料が反映されない場合がある 一個の変数、今回の場合は$_SESSIONですけど
そこに入る上限を超えてしまうんだと思います http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1266281967
|
lamps |
投稿日時: 2015/1/16 18:49
対応状況: −−−
|
新米 登録日: 2015/1/14 居住地: 投稿: 5 |
Re: dtb_products.main_commentが長すぎると送料が反映されない場合がある red 様
ご回答いただきありがとうございます。 memory_limitを大きめに設定していたので大丈夫だろうと高をくくっていましたが、やはりデータ量の上限を超えたことが根本原因ですね。。 いろいろ設定値を変えて試してみたいと思います。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |