ITOBEN STYLE > EC-CUBE:商品を多数購入すると送料が0円になってしまう不具合 2013年11月6日カテゴリー:未分類 EC-CUBE:商品を多数購入すると送料が0円になってしまう不具合 (1)データベース MySQLにインストールした場合に起こります。 (2)EC-CUBEのバージョン 2013年11月現在、2.13.0までのすべてのバージョンで起こります。 (3)現象 カゴの中に商品を入れていきます。 1つ入れたら、「ご入力内容のご確認」画面まで進んで送料を確認します。 正常に表示されていれば、一覧ページ等に戻って、カゴの中に別の商品を追加します。 そして、また、「ご入力内容のご確認」画面まで進んで送料を確認します。 面倒ですが、この作業を繰り返します。 商品データ量によりますが、10個、20個ぐらいになると、 「お支払方法・お届け時間等の指定」で「お届け時間の指定」のプルダウンメニューが突然表示されなくなり、その後、「ご入力内容のご確認」画面に進むと送料が0になっています。 この不具合が発生する注文データは、管理画面の受注管理>受注管理にも影響しています。 「編集」をクリックして表示される登録画面の、「お届け先情報」が表示されません。 新規追加ボタンも動作しません。 下記対象法で修正することにより改善されます。 (4)原因 カートに商品を入れると、データベースのdtb_sessionテーブルにその情報が入ります。 商品を次々にカートに入れていくと、dtb_sessionテーブルのsess_dataフィールドに情報が追加されフィールド内のテキストはどんどん増えていきます。 sess_dataの文字データ型は、「text」でインストールされます。「text」には文字数制限があります。情報がその制限数を超えると、上記の現象が起こるのではないかと考えられます。 PostgreSQLでは、文字データ型「text」に制限がないので、不具合が発生しないということになります。 (5)対処法 sess_dataの文字データ型を、「text」から「longtext」に変更します。 「longtext」に変更すると、文字制限数が大幅に増加します。 下図は、phpMyAdminを利用して変更する例です。 ↓ ↓ SQL命令文でデータ型を変更する場合は、データベース上で下記クエリを実行します。 *************** ALTER TABLE dtb_session CHANGE sess_data sess_data LONGTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL; *************** (6)インストールの段階で、データ型を変更するには ■html/install/sql/create_table_mysql.sql を下記のように変更しておきます。 (7)修正後 「longtext」に変更しても、それまでのデータ内容は変わりません。 変更後からの登録データで不具合が解消されます。 この不具合は、本サイト(http://www.kaiplus.com/download/)のカスタマイズによるものではありません。EC-CUBEのデフォルト設定によります。
(1)データベース
MySQLにインストールした場合に起こります。
(2)EC-CUBEのバージョン
2013年11月現在、2.13.0までのすべてのバージョンで起こります。
(3)現象
カゴの中に商品を入れていきます。
1つ入れたら、「ご入力内容のご確認」画面まで進んで送料を確認します。
正常に表示されていれば、一覧ページ等に戻って、カゴの中に別の商品を追加します。
そして、また、「ご入力内容のご確認」画面まで進んで送料を確認します。
面倒ですが、この作業を繰り返します。
商品データ量によりますが、10個、20個ぐらいになると、
「お支払方法・お届け時間等の指定」で「お届け時間の指定」のプルダウンメニューが突然表示されなくなり、その後、「ご入力内容のご確認」画面に進むと送料が0になっています。
この不具合が発生する注文データは、管理画面の受注管理>受注管理にも影響しています。
「編集」をクリックして表示される登録画面の、「お届け先情報」が表示されません。
新規追加ボタンも動作しません。
下記対象法で修正することにより改善されます。
(4)原因
カートに商品を入れると、データベースのdtb_sessionテーブルにその情報が入ります。
商品を次々にカートに入れていくと、dtb_sessionテーブルのsess_dataフィールドに情報が追加されフィールド内のテキストはどんどん増えていきます。
sess_dataの文字データ型は、「text」でインストールされます。「text」には文字数制限があります。情報がその制限数を超えると、上記の現象が起こるのではないかと考えられます。
PostgreSQLでは、文字データ型「text」に制限がないので、不具合が発生しないということになります。
(5)対処法
sess_dataの文字データ型を、「text」から「longtext」に変更します。
「longtext」に変更すると、文字制限数が大幅に増加します。
下図は、phpMyAdminを利用して変更する例です。
↓
↓
SQL命令文でデータ型を変更する場合は、データベース上で下記クエリを実行します。
***************
ALTER TABLE
dtb_session
CHANGEsess_data
sess_data
LONGTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;***************
(6)インストールの段階で、データ型を変更するには
■html/install/sql/create_table_mysql.sql を下記のように変更しておきます。
(7)修正後
「longtext」に変更しても、それまでのデータ内容は変わりません。
変更後からの登録データで不具合が解消されます。
この不具合は、本サイト(http://www.kaiplus.com/download/)のカスタマイズによるものではありません。EC-CUBEのデフォルト設定によります。