一緒に悩み、考える。
つくるだけでなく、
そのあとの物語も、ともに。

どんな会社もサービスも、それぞれにストーリーがあります。
花のやはそれをサポートしながら、お客様の成長を隣で見ていたいのです。

一緒に悩み、考える。
つくるだけでなく、
そのあとの物語も、ともに。

どんな会社もサービスも、
それぞれにストーリーがあります。
花のやはそれをサポートしながら、
お客様の成長を隣で見ていたいのです。

ブログBLOG

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

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

エンジニア担当の和田です。 漆を塗ったりしていましたが最終的にプログラマーへと転職してしまいました。

LINEで送る
Pocket

人気記事ランキング

お問い合わせ

Webサイト制作・その他お仕事のご依頼、
ご相談についてお気軽にお問い合わせください。

  • ホームページ制作で”補助金・助成金”使えます!
  • WEBに関する無料個別相談会
株式会社 花のや
〒460-0008
愛知県名古屋市中区栄2-14-5 山本屋本店栄ビル7階

花のやについて

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

お問い合わせ