Labo

EC-CUBE3 分室

【3.0.14】商品規格の登録について

2017年04月28日 / 投稿者名:chiharu


今回も引き続き運用についてです。
今回の内容は商品規格の規格登録についてです。
 
とは言っても標準の登録方法そのものについてではありません。
EC-CUBE2系では規格登録時にサーバーに依存する不具合がありました。
EC-CUBE3系でも不具合は存在しているのかについてを確認したいと思います。
 
まず、今回行う内容を再確認したいと思います。
EC-CUBE2系の規格に関する問題点は規格の選択項目数が多いとき、企画別商品数がすごい数になる場合があります。
(たとえば規格1に色として30色ぐらい指定する)
そんな時 EC-CUBE2系では規格商品の登録が出来ないというトラブルが発生することがあります。
 
原因は前述の通りサーバーの設定による場合があります。
サーバーの PHP の設定には「max_input_vars」という項目があります。
 ※ ちなみに初期値は 1000 になっているはずです。
簡単に言うと POST や GET または COOKIE を一度に何個まで受け取れるかになります。
商品別規格数が多くなると一度に送信する数が増え、「max_input_vars」の限度を超えてしまうのです。
 
それでは実際に EC-CUBE3系で試してみましょう。
 「管理画面 > 商品管理 > 規格登録 > 規格編集」の画面にて規格の登録を行います。
とりあえず今回は「色1」「色2」の規格を作成してみました。
内容は適当ではがどちらの規格にも「分類登録」にて30個ぐらいを登録しました。
 
次に「商品登録」です。
商品に関しては規格を設定する事が出来ますが、いきなり規格の登録はできません。
一旦通常の商品として登録を行う必要がありますので気を付けて下さい。
 ※ 商品登録の入力内容は省略させて頂きます。(笑)
 
最後に本命の「商品規格設定」です。
「商品管理」の「商品マスター」一覧にて登録した商品の右側のメニューリンクから「規格」を選択します。
または「商品管理」で該当の商品を選択し「商品登録」画面に入ったのち「規格設定」の場端を選択しても同じです。
「商品管理 商品登録(商品規格)」のページに移動できたかと思います。
 
商品規格の管理画面では、まず選択する内容として「規格1」「規格2」を設定します。
それぞれの規格には「規格登録」にて登録した規格が選択できるようになっています。
適切な規格を設定した後は「商品規格の設定」ボタンを押しましょう。
商品規格別の商品一覧が表示されます。
 
今回の試した内容では「規格1(30項目) × 規格2(30項目)」の為、900件分の一覧が出てきました。
・・・さすがに少し時間が掛かりますね。
今回はテストだから良かったものの、この画面で900件メンテナンスを行うのはゾッとする思いです(笑)
 
さて、本命の問題についての確認です。
この状況にて画面下部の登録ボタンを押してみましょう。
 
 ・
 ・
 ・
 
・・・だめですね、残念ですが登録はされません。
EC-CUBE2系の場合にはエラーが表示されてしまいました。
EC-CUBE3系の時はエラーは発生しないのですが登録できないまま「規格」を選択する画面が再表示されました。
まあ、規格選択後の一覧を見た時点で想像はしていたのですが仕方ありませんね。
現在の規格画面の構造では避けようの無い問題ではあります。
根本の考え方を変えないとこの問題は解決しないでしょう・・・
 
ただ、少しだけ有難いことに規格登録の画面に関して EC-CUBE2系の場合よりも項目が少なくなっています。
規格の項目をそれほど多くしなければ、EC-CUBE2系で作成するよりは問題が発生しにくいと思います。
運用で何とかなる場合に1つの規格に多数の「分類登録」を行わないことが重要かもしれません。
 
・・・規格に関しては入力した規格名が表示画面にも出てしまうので規格名に気を使います
せめて規格名について表示用と管理用が登録できるだけでも運用面では改善すると思うのですが・・・
 
 
という感じで今回は残念な結果で根本的な改善はされていませんでした。
最後には「max_input_vars」の設定を変更しないといけないのが現状ですね・・・
 
根幹部分なので EC-CUBE3系の間は改善はされないと思います。
結論としては「EC-CUBE は max_input_vars の変更できるサーバーに導入しましょう!」でした。
今回はここまでとさせて頂きます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

* Copy This Password *

* Type Or Paste Password Here *

*

コメント欄にコードを挿入したい場合は、[php][/php] を使ってください。