ここ数日、ec_cubuのサブ画像追加のやり方を調べていた。
ネットで検索しても、すべて肝心なところが載ってなくて、情報も正しいものから間違ったものまでごっちゃになっている。
1)管理画面から、「基本情報管理」のパラメーター設定。
PRODUCTSUB_MAX(商品サブ情報最大数)を(デフォルト5)を6に修正。
まず、ここの修正は間違いない。
さらにここの数値を10にすれば、管理画面上は10個までサブ画像を追加できるようになる。
しかし、
6個までの場合、管理画面上は問題なく商品のサブ画像を追加可能。
7個以上になるとシステムエラーが発生する。
※この原因はDBのデフォルト設定にあるようだ。
デフォルトで "dtb_products" には、画像 6個分のカラムがすでに出来上がっている。
このため6個までの追加は、管理画面上エラーにはならない。
逆に言うと、7個以上のサブ画像を設定する場合は、ここのカラムを予め追加してあげる必要がある。
さて、ここからが一苦労。
管理画面上はサブ画像が反映されているのに、Webページでは表示されない。
この設定ファイルは何処か?
検索の結果、ひっかかってきたのはこの文言。
vw_product_class(デフォルト6項目)管理画面表示用
vw_products_allclass_detail(デフォルト6項目)管理画面確認用
vw_products_nonclass(デフォルト5項目)商品ページ表示用
いろいろ検索し、ec_cubeのファイルを確認したところ、
SC_DB_DBFactory_MYSQL.phpにこれらを設定している箇所があった。
2)SC_DB_DBFactory_MYSQL.phpの修正
431行目(vw_products_allclass_detail)に以下の記述がある。
sub_title5,sub_comment5,sub_image5,sub_large_image5,
この下に sub_title6,sub_comment6,sub_image6,sub_large_image6, を追加。
これですべて解決!!
STEP1) 管理画面のパラメーター設定
STEP2) SC_DB_DBFactory_MYSQL.phpの "vw_product_**"を修正
となりますね。
ちなみにSC_DB_DBFactory_MYSQL.phpは、/data/class/db/dbfactoryにあります。