EC-CUBE

EC-Cubeカスタマイズ:新たなブロックを追加する:新着商品表示ブロック

投稿日:2012年3月9日 更新日:

今日も備忘録です。
EC-CUBE 2.11.5のカスタマイズを開始しました。

例によって、EC-CUBE標準では新着商品の一覧を表示するブロックが無いので作ります。

手順
1.管理画面「デザイン管理」→「PC」→「ブロック設定」から、
新規のブロックを1つ追加する。
2.データベースへブロック表示時に実行するスクリプトを登録する
3.2で設定しスクリプトを作成する
4.表示するテンプレートを作成する
以上の手順です。

手順1
これは管理画面から登録するだけなので詳細不要ですね

手順2
データベースを操作できるツールで
「dtb_bloc」を編集します。
手順1で登録したブロックのレコードを探して
カラム「php_path」にスクリプトのパスを設定します。
ここでは「frontparts/bloc/new_item.php」を設定します。

手順3
新着商品を取得するスクリプトファイルを作成します。
3-1.
手順2で設定したファイルを作成します。
※ここでは、おすすめ商品のスクリプトをコピーして作成します。
「/frontparts/bloc/recommend.php」をコピーして
「/frontparts/bloc/new_item.php」を作成
3-2.
ClassファイルとClassExファイルを作成します。
※3-1と同様におすすめ商品のスクリプトをコピーして作成します。
「/data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_Recommend.php」をコピーして
「/data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_New_Item.php」を作成

「/data/class_extends/page_extends/frontparts/bloc/LC_Page_FrontParts_Bloc_Recommend_Ex.php」をコピーして
「/data/class_extends/page_extends/frontparts/bloc/LC_Page_FrontParts_Bloc_New_Item_Ex.php」を作成

3-3.
コピーしたファイルを編集します

3-1.で作成した「new_item.php」は以下の2箇所を修正
■26行目
修正前:require_once CLASS_EX_REALDIR .’page_extends/frontparts/bloc/LC_Page_FrontParts_Bloc_Recommend_Ex.php’;

修正後:require_once CLASS_EX_REALDIR .’page_extends/frontparts/bloc/LC_Page_FrontParts_Bloc_New_Item_Ex.php’;

■31行目
修正前:$objPage = new LC_Page_FrontParts_BLoc_Recommend_Ex();
修正後:$objPage = new LC_Page_FrontParts_BLoc_New_Item_Ex();

3-2.で追加した「LC_Page_FrontParts_Bloc_New_Item_Ex.php」は以下の部分を修正
■25行目
修正前:require_once CLASS_REALDIR .’pages/frontparts/bloc/LC_Page_FrontParts_Bloc_Recommend.php’;
修正後:require_once CLASS_REALDIR .’pages/frontparts/bloc/LC_Page_FrontParts_Bloc_New_Item.php’;

■36行目
修正前:class LC_Page_FrontParts_Bloc_Recommend_Ex extendsLC_Page_FrontParts_Bloc_Recommend {
修正後:class LC_Page_FrontParts_Bloc_New_Item_Ex extendsLC_Page_FrontParts_Bloc_New_Item {

3-2.で追加した「LC_Page_FrontParts_Bloc_New_Item.php」は以下の部分を修正
■34行目
修正前:class LC_Page_FrontParts_Bloc_Recommend extendsLC_Page_FrontParts_Bloc {
修正後:class LC_Page_FrontParts_Bloc_New_Item extendsLC_Page_FrontParts_Bloc {

■70行目
修正前:$this->arrBestProducts = $this->lfGetRanking();
修正後:$this->arrNewProducts = $this->lfGEtNewProducts();

■87行目~125行目(すべて削除して新着商品を取得する処理に変更)
省略

手順4
表示するテンプレートを作成

以上で追加可能です。
管理画面のデザイン管理から表示したい部分にブロックを追加してください。

EC-CUBE改造のお問い合わせはこちらから

ad

ad

-EC-CUBE
-,

執筆者:


comment

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

スパム対策 * Time limit is exhausted. Please reload the CAPTCHA.

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

EC-Cube改造:商品一覧の表示件数を変更する

EC-Cubeのカスタマイズ案件が続きそうなので、備忘録・・・・ 商品の検索結果やカテゴリの一覧に表示する件数の変更方法 管理画面の「システム管理」→「マスターデータ管理」のページから 「mtb_pr …

EC-Cube改造:商品詳細ページにサブの写真を表示する

またまた、備忘録です EC-Cubeの商品詳細ページには、メインのコメントや写真のほかにも サブの情報として、最大5個情報を表示することが可能です。 使い方によっては、写真のみをメインの写真+方向を変 …

EC-CUBEカスタマイズ:カテゴリーブロックで下層のカテゴリも表示する

本日連投です。 デフォルトで用意されているカテゴリ表示のブロックですが 第一回層のカテゴリしか表示されません。 これをすべての階層表示するように変更します。 修正する場所は、カテゴリ表示のテンプレート …

EC-CUBEカスタマイズ:新着情報表示

とりあえず、PHP+Smartyだからカスタマイズも難しくないだろうってだけで、 EC-CUBEを選択しましたが、いろいろと不足している機能があるんですね 今日は一つだけ 新着商品を一覧表示する機能が …

EC-Cubeカスタマイズ:配送料管理:購入商品数から配送口数を計算する

改造の前提条件  ・複数配送先は対応しない  ・小型商品配送用の箱を2種類用意する  ・EC-Cube以外のフリーソフトへの変更は考えない  ・決済方法は、クレジットカード決済・代金引換宅配・銀行振込 …