サイトアイコン アイネクシオ(Webサイトドクター)

EC-CUBE 商品一覧ページにデフォルトの情報がもっとほしい

EC-CUBE3の開発が始まり、新しいバージョンの登場が楽しみな気もしますね。
そんな新しいEC-CUBE3とは無関係な内容です・・・。

「EC-CUBEの商品一覧画面に、拡大画像とか、詳細メインコメントとか、デフォルトの情報をいろいろ載せたい」というご依頼がありました。その他調整は置いといて、一覧画面にもっと情報を載せることは、比較的簡単にカスタマイズできるので記載しておきます。

環境

2.13系であれば問題ないと思うけど、実装したのは2.13.3。

拡張クラスの準備

商品一覧を出力するロジックを調整します。

以下クラスのlistsメソッドをまるまるコピーします。
/data/class/SC_Product.php

そして、以下拡張クラスにペーストします。
/data/class_extends/SC_Product_Ex.php

拡張クラスの調整

拡張クラスの準備 でペーストしたファイルに、目的となるカラム情報を追加します。
ここでは以下の情報を追加することを目的としました。
持っている情報のほぼすべてかなぁ。

以下、listsメソッドの27~48行目を追加。

public function lists(&$objQuery)
{
$col = <<< __EOS__
product_id
,product_code_min
,product_code_max
,name
,comment1
,comment2
,comment3
,main_list_comment
,main_image
,main_list_image
,price01_min
,price01_max
,price02_min
,price02_max
,stock_min
,stock_max
,stock_unlimited_min
,stock_unlimited_max
,deliv_date_id
,status
,del_flg
,update_date

,main_large_image
,main_comment
,sub_title1
,sub_comment1
,sub_image1
,sub_large_image1
,sub_title2
,sub_comment2
,sub_image2
,sub_large_image2
,sub_title3
,sub_comment3
,sub_image3
,sub_large_image3
,sub_title4
,sub_comment4
,sub_image4
,sub_large_image4
,sub_title5
,sub_comment5
,sub_image5
,sub_large_image5
__EOS__;
$res = $objQuery->select($col, $this->alldtlSQL());

return $res;
}

これでとりあえず準備はできた。

HTMLの調整

今度は出力するHTMLの調整。
個人的にSmartyは嫌いなんだけど、Smartyの調整となります。
嫌いなことは全然関係ないけどね。

調整するファイルは、PCであれば以下。
/data/Smarty/templates/default/products/list.tpl

スマートフォンであれば以下。
/data/Smarty/templates/sphone/products/list.tpl

Smartyのforeachループの中であれば、以下のような記述で出力できます。

<!–{foreach from=$arrProducts item=arrProduct name=arrProducts}–>
<!–{* 詳細-メインコメント であれば以下 *}–>
<!–{$arrProduct.main_comment}–>

<!–{* 詳細-サブコメント(5) であれば以下 *}–>
<!–{$arrProduct.sub_comment5}–>
<!–{/foreach}–>

とりあえず完成

あとは細かいデザインの調整や、画像の拡大であればスクリプトの調整を行うことでバッチリ。

モバイルバージョンを終了