2014年12月26日金曜日

【ECキューブ】あらかじめの処理を伴うページやブロックを追加する

ECキューブのディフォルトのページには、ページのクラスとその拡張クラスとが紐付いていて、いろいろPHPで複雑なことが出来る。

大雑把に言って4つのPHPファイルがワンセットになってる。
■HTML側のPHP(URLに対応するもの)
 例:products/list.php
■テンプレートファイル
 例:data/Smarty/templates/default/products/list.tpl
■DATA側、ECキューブ標準の処理の書かれたクラスファイル
 例:data/class/pages/products/LC_Page_Products_List.php
■DATA側、ユーザーが拡張処理を書くための拡張クラスファイル
 例:data/class_extends/page_extends/products/LC_Page_Products_List_Ex.php

これらのファイルがあらかじめいろいろな処理をして、テンプレートで使える変数や配列を作っている。
管理画面から新規に作成したページで、他のページが使っているECキューブの変数が使えないのは、ECキューブ標準ページはこれらのファイルによってあらかじめ処理を経てきているから。
なので、新規追加ページでECキューブのいろいろな変数を使いたい場合、上記のクラスファイルや拡張クラスファイルを同様に追加して、処理を書いておかないといけない。


で、
そういう感じでPHPで色々なことを仕込んだ、ブロックも作りたい。

【方法】
管理画面からブロックを新規作成。

\public_html\frontparts\bloc に、block_任意の名前.php というファイル(※)を作成。
\public_html\data\class_extends\page_extends\frontparts\bloc に、LC_Page_FrontParts_Bloc_任意の名前_Ex.php という拡張クラスファイルを作成。その処理の内容は、同ディレクトリにある他のクラスを参考に。
このクラスファイルを、このHTMLディレクトリ側のPHPから呼び出す。

データベース管理画面に入り、「dtb_blocテーブル」を開く。
追加したブロックの「php_path」コラムに、「frontparts/bloc/block_任意の名前.php」と入力。(※)で作成したファイル。

LC_Page_FrontParts_Bloc_任意の名前_Ex.phpに、処理を書く!

0 件のコメント:

コメントを投稿