ECcubeでブロックに自前のプログラムを差し込むというか設定する方法

ECcubeで、新規にブロックを追加する場合の手順。


大きく分けてやるべき事は


1)受け皿となるフロント部のphpプログラム用意


2)バックエンドの実際のプログラムを用意


3)テンプレートを用意


4)管理画面から新規追加


5)データベースの該当箇所を修正


となる。以下はその手順。


1)受け皿となるフロント部のphpプログラム用意


/html/frontparts/bloc/****.php

を追加。/htmlはHTMLのドキュメントルートなので各自読み替え。


****.phpは

category.php

などを適当にコピーすれば良いだろう。


そして中身として


require_once(CLASS_EX_PATH . "page_extends/frontparts/bloc/LC_Page_FrontParts_Bloc_Category_Ex.php");

$objPage = new LC_Page_FrontParts_BLoc_Category_Ex();


の部分を修正する。今回は


LC_Page_FrontParts_Bloc_Test


というのを追加すると仮定すると、


require_once(CLASS_EX_PATH . "page_extends/frontparts/bloc/LC_Page_FrontParts_Bloc_Test_Ex.php");

$objPage = new LC_Page_FrontParts_BLoc_Test_Ex();


となる。


2)バックエンドの実際のプログラムを用意


1)の例で入力したファイルを準備。


data/class/pages/frontparts/blocに


LC_Page_FrontParts_Bloc_Test.php


を追加。中身はLC_Page_FrontParts_Bloc_Category.phpでもコピーして、

category.tpl

となっていたりCategoryとなっている部分を適宜書き換える。


続いて


data/class_extends/page_extends/frontparts/bloc




LC_Page_FrontParts_Bloc_Test_Ex.php

を追加。これもLC_Page_FrontParts_Bloc_Category_Ex.phpでもコピーして中身を適宜書き換え。


3)テンプレートを用意

data/Smarty/templates/****/bloc/

に追加。今回の例だと

test.tplなど。

LC_Page_FrontParts_Bloc_Test.phpで書いたテンプレート名にすること。


4)管理画面から新規追加


管理画面上の『デザイン管理』→『ブロック編集』で『新規ブロック作成』


ファイル名の部分は重要で、3)で設定したものにする。


5)データベースの該当箇所を修正


そして最後にMySQLデータベース上

dtb_bloc

で、今回作られた行を探して、


php_path



frontparts/bloc/test.php

とする。


もちろんtest.phpは自分が1)で準備したPHPファイル。


以上でブロック作成が出来たので、後はプログラムを書いて、レイアウトに載せればOK。





コメントをどうぞ