こんにちわ、のりぷーです。
最近EC-CUBEでのネットショップ制作の案件が非常に増えてきました。
EC-CUBEは自由度が高く、すごく便利なシステムではあるのですが、細かいカスタマイズや設定をしようと思うと、どうにも分かりづらい部分が多いので困っちゃいますよね。
今回は、商品詳細ページの商品サブ情報最大数(PRODUCTSUB_MAX)を7以上に増やすときに注意しなければいけないことをご説明します。
「システム設定>パラメーター設定」にPRODUCTSUB_MAXという項目があり、ここがデフォルトで5になっているので、8とか数を増やせば、それだけで済むと思って居たのですが、どうもうまくいかないようです。
adminerやphpMyAdminでMySQLデータベースを除けばわかるのですが、dtb_productsテーブルには、商品サブ情報は6までのカラムしかありません。 いくらパラメータ設定で8とかに設定したとしても、保存するデータベースがないのでは、使用が出来ません。 まずはここを増やします。
sub_title7,sub_comment7,sub_image7,sub_large_image7を増やしたい項目数まで追加します。
今回は8まで増やしたいので、7と8を追加しました。
さて、これで、管理画面から、商品サブ情報を8個まで追加することは出来るようになったですが、もう一つ問題があります。
これは、データベースから情報を引っ張ってくるMySQL文にもやはり6までしか無いのが原因です。
data/class/SC_Product.phpを開いて、610行目あたりを編集します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
$sql = <<< __EOS__ ( SELECT dtb_products.product_id ,dtb_products.name ,dtb_products.maker_id ,dtb_products.status ,dtb_products.comment1 ,dtb_products.comment2 ,dtb_products.comment3 ,dtb_products.comment4 ,dtb_products.comment5 ,dtb_products.comment6 ,dtb_products.note ,dtb_products.main_list_comment ,dtb_products.main_list_image ,dtb_products.main_comment ,dtb_products.main_image ,dtb_products.main_large_image ,dtb_products.youtube_id ,dtb_products.sub_title1 ,dtb_products.sub_comment1 ,dtb_products.sub_image1 ,dtb_products.sub_large_image1 ,dtb_products.sub_title2 ,dtb_products.sub_comment2 ,dtb_products.sub_image2 ,dtb_products.sub_large_image2 ,dtb_products.sub_title3 ,dtb_products.sub_comment3 ,dtb_products.sub_image3 ,dtb_products.sub_large_image3 ,dtb_products.sub_title4 ,dtb_products.sub_comment4 ,dtb_products.sub_image4 ,dtb_products.sub_large_image4 ,dtb_products.sub_title5 ,dtb_products.sub_comment5 ,dtb_products.sub_image5 ,dtb_products.sub_large_image5 ,dtb_products.sub_title6 ,dtb_products.sub_comment6 ,dtb_products.sub_image6 ,dtb_products.sub_large_image6 ,dtb_products.sub_title7 ,dtb_products.sub_comment7 ,dtb_products.sub_image7 ,dtb_products.sub_large_image7 ,dtb_products.sub_title8 ,dtb_products.sub_comment8 ,dtb_products.sub_image8 ,dtb_products.sub_large_image8 |
sub_large_image6の後に、7と8に関するレコードを追加します。
これで、無事、商品サブ情報を8まで表示させることが出来ました。