技術と経験で、価値のあるホームページ制作を。ホームページ制作を通じて、お客様に利益をもたらすことを追求します。

技術と経験で、価値のあるホームページ制作を。ホームページ制作を通じて、お客様に利益をもたらすことを追求します。

ブログ

  1. 名古屋のホームページ制作会社 花のや
  2. 花のやブログ
  3. EC-CUBE2の使えるカスタマイズ方法
2017/12/13オープンソースECCUBE

EC-CUBE2の使えるカスタマイズ方法

こんにちは。

前回はEC-CUBEの2と3の違いについて説明しましたが
今回はそのEC-CUBE2のカスタマイズについてお話します。

実はこれは今までよく使っていたのですが、
そろそろEC-CUBE2も新規案件が少なくなってきたので公開しようと言うことにしました。

皆様はEC-CUBEでカスタマイズする際。
例えばとあるカテゴリーの新着商品を表示させたいときにはどのようにカスタマイズしますか?

トップページに表示する場合

LC_Page_Index_Ex.phpのactionメソッドに書いて追加取得させる
 ↑わかる

複数のページでも表示したい

LC_Page_Ex.phpに書いてそれぞれのページ継承クラスで読み込む
 ↑まあ分かる

新規ページで表示したり、新規ブロックで表示させたい

ページやブロックを作った後、アクセスする用のphpにクラスの読み込みを書いて
 クラスファイルと継承クラスファイルをつくって
 ↑ふざけんな(# ゚Д゚)

となるわけです。

今回紹介する方法でしたらファイルを一つ追加して管理画面側で出力制御をするだけで、それこそブロックでも新規ページでもなんでも可能となります。
もちろん、引き継ぎされる人への配慮として、コメントで何処かに残しておく必要はありますが…。

というわけで、今回は例として、商品一覧を表示する機能を追加します。

商品一覧を表示する機能

EC-CUBE2を構築、カスタマイズしたことがある人は見たことがあると思いますがdataディレクトリ配下は以下のようになっていますよね。

この「smarty_extends」が今回の主役です。
ディレクトリ名から考えると単純にsmartyの継承、拡張となりますが
https://www.smarty.net/docs/ja/plugins.tpl
プラグインということだそうです。

この中に商品一覧を出力するための機能を持ったファイルを造ります。
まずはガワとして既に存在するfunction.html_xxx.phpというファイルを複製してファイル名を変更します。
商品一覧を取得するので、function.html_getProducts.phpとでもしておきましょう。

次にファイルを開いて豪快に中身を全部消して目的の機能を書いていきます。
 関数名は作ったファイル名と絡めて決められたルールに従って付けましょう。

function smarty_function_html_getProducts($params, &$smarty)
{
}

この記事を書いた人:wada

エンジニア担当の和田です。 ボウリングの機械のメカニックから、漆を塗ったりトラックの運転手をしたりと紆余曲折ありましたが最終的にプログラマーへと転職してしまいました。

人気記事ランキング

株式会社 花のや
〒460-0008
愛知県名古屋市中区栄5-16-14 新東陽ビル4F

花のやについて

お仕事のご依頼やご相談は、下記の電話番号
または、メールフォームよりお問い合わせください。
TEL.052-251-7090 / FAX.052-251-7092

お問い合わせ