こんにちは、なかわけです。
EC-CUBEの詳細ページ/管理ページの詳細サブ画像を増やす方法です。
サイズ違いの画像を追加したい時などに使います。
基本的に過去の記事「EC-CUBE商品の登録項目内容の追加」を参考に作業を行います。
ただ、追加している項目が違いますので作業が必要ないステップもあります。確認しながら必要に応じで行ってください。また詳細サブ画像は1~5まであるので、それに合わせてDBテーブルにカラムをsub_hoge_image1 ~ sub_hoge_image5 のように追加しなくてはいけません。
過去記事にない作業としては、ビューテーブルのvw_products_nonclassにも追加した項目「sub_hoge_image1 ~ sub_hoge_image5」を加える必要があるので定義を書き換えます。
それから、商品の表示ページの (public_htmlなど)/user_data/packages/TEMPLATE_NAME/detail.tpl も書きかえる必要があります。大体343行目あたりにサブ画像が表示されるコードが書かれていると思いますが、お好みのところに、
<!--{assign var=hogekey value="sub_hoge_image`$smarty.section.cnt.iteration`"}--> <!--{if $arrFile[$hogekey].filepath != ""}--> サブ画像がある場合 <!--{else}--> サブ画像がない場合 <!--{/if}-->
のように分岐処理を書けば表示を切り替えられたりします。またこれに伴い、(public_htmlなど)/data/class/pages/products/LC_Page_Products_Detail.php にもコードを追加いします。大体509行目当たりに、サブ画像の分岐処理が書かれていると思うんですが、その中に
$this->objUpFile->addFile("詳細-サブほげ画像$cnt", "sub_hoge_image$cnt", array('jpg'), IMAGE_SIZE, false, LARGE_SUB_HOGE_IMAGE_HEIGHT, LARGE_SUB_HOGE_IMAGE_HEIGHT);
のように追加します。LARGE_SUB_HOGE_IMAGE_HEIGHT と LARGE_SUB_HOGE_IMAGE_HEIGHTはEC-CUBEのシステムで管理してもいいですし、実装を考えるとそんなにコロコロ変わる数字でもないのでスタティックに数字を入力してしまってもいいと思います。
Tags: EC-CUBE