EC-CUBE PHP

【EC-CUBE】新しいフロントページを追加する方法

投稿日:2016年12月7日 更新日:

EC-CUBE2で新規にフロントページを追加する方法の解説です。

スポンサーリンク

dtb_pagelayoutにレコードを追加する

dtb_pagelayoutに新しいレコードを追加します。

各カラムの値は下記のように設定します。

  • page_idは既存のレコードと重複しない値にします。
  • device_type_idはPCやスマホ別のIDです(下記参照)。
  • page_nameはページの名前です。管理画面や、フロントに表示されます。
  • urlは追加するページのURLです。
  • filenameは、テンプレートファイルのファイル名。(.tplは不要)
  • edit_flgは、2を設定して管理画面からも編集出来るようにします。

device_type_idの種別

device_type_id 端末
1 モバイル
2 スマートフォン
10 PC

サンプルSQL

PC用のテストページ(test/index.php)ページを追加するなら下記のようなSQLになります。

PHPファイルを作成

上記でdtb_pagelayoutに追加レコードにurlに対応したPHPファイルを作成します。

PHPファイルはページクラスの呼び出しくらいしかしないので、適当な既存のphpファイルをコピーして、ページクラスの部分のみ書き換えればOKです。
場所はデフォルトでは、ドキュメントルート直下の「html」ディレクトリです。

サンプルPHPファイル

test/index.phpのサンプルです。
ページクラスをpage_extends/test/LC_Page_Test_Ex.phpとしています。

ページクラスを作成

PHPファイルで呼び出ししたページクラスを設置します。

このクラスのactionメソッドに、ビジネスロジックを実装していきます。

既存のページクラスと作りを合わせましょう。
LC_Page_Exを継承してクラスを作成します。

ディレクトリは、「data/class_extends」配下です。

ページクラスのサンプル

ビジネスロジックがなしの空のページクラスのサンプルです。

テンプレートファイルを配置

最後にテンプレートファイルを配置します。
ディレクトリは、「data/Smarty/templates/{端末別ディレクトリ}/」配下です。
dtb_pagelayoutで登録したファイル名でテンプレートファイルを配置します。

テンプレートファイルのサンプル

サンプルと言っても、ファイルの中身が出力されるので、適当にテキストを入力すればOK。
ちゃんとしたページを作る時は、HTMLSmartyで実装します。

これで、新規ページの追加は完了です。
/testへアクセスして新しく追加されたページを確認してみましょう。

まとめ

ざっくり簡単にEC-CUBE2のフロントの新規ページの作成方法でした。

こういうのは、何すれば良かったんだっけ?
もれはないかな?
なんて毎回確認するの面倒なので、手順をメモしておくと後々楽になりますよね!

最後までお読み頂きありがとうございました!

スポンサーリンク


-EC-CUBE, PHP

執筆者:

関連記事

【PHP】日時を計算する2つの方法

現在日を起点にして日時を取得して処理したいことってよくありますよね。 例えば、現在日時の1日前のデータのステータスを変更するとか。 今回は、PHPで日時を計算する2つ方法をご紹介します。 PHPの内部 …

【PhpStorm/MAMP】デバッグ中にphpMyAdminで中断してしまう場合の対処方法

PhpStormでデバッグしていると、なぜかphpMyAdminで一時停止してしまう問題。 開発環境は、ローカルのMAMPです。 phpMyAdminを使う時は毎回デバッグをOFFにしていたのですが、 …

【EC-CUBE2】CSVをUTF-8でダウンロードさせる修正方法

デフォルトのEC-CUBE2だと、ダウンロードされるCSVはShift-JISになっています。 おそらく、EXCELでCSVを編集する事を考慮しているのでしょう。 でも、Shift-JISだと困るシー …

【EC-CUBE2】CSV項目の追加方法

EC-CUBE2のCSVの項目を追加する方法の解説です。 プログラムの修正不要でサクッと出来ちゃいます! スポンサーリンク 目次手順1:csv_idを調べる手順2:CSVテーブルへ項目を追加実践編:商 …

【PHP】大きいリモートファイルをfreadすると途中で切れる【理由と解決法】

PHPでリモートファイル(httpやsshで読み込むファイル)をfreadする際、容量の大きいファイルを読み込むと、読み込みが途中で切れる事があります。 エラーなど発生せず、freadの結果が読み込み …

プロフィール

このサイトを運営しているDENです。
アングラーのフリープログラマー。 主にプログラミングと釣の話を発信しています。
プログラミングで自由になり思う存分に釣りをしまくる生活実践中。
詳しいプロフィールはこちら 
フォスターフリーランス