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。
ディスカッション
コメント一覧
まだ、コメントがありません