EC-CUBEに秘められたもう一つのプラグイン!(制作会社向け)

[7,837 views]

EC-CUBEに秘められたもう一つのプラグイン!

EC-CUBEの2.12.X系以降、「プラグイン」というとても便利な機能が正式に実装されました。
しかし!それより遙か昔から存在するEC-CUBEで使えるプラグインの存在を知っているでしょうか・・・!

1.もう一つのプラグインとは

それは・・・「Smartyプラグイン」です!

EC-CUBEは機能部とデザイン部を分離して管理が出来る様にする為に、
「Smarty」というテンプレートエンジンを使っています。

実はこのSmartyにはプラグイン機能があり、様々なエンジニアさんがプラグインを公開されています。

2.Smartyプラグインとは

Smartyプラグインは、主にオリジナルの「関数」を追加する際などに使います。

Smartyの「関数」とは<!–{if}–>や<!–{$price|number_format}–>など、
テンプレート内で値を動的に扱いたい時に使うものですね。

これらはデフォルトで様々な種類の関数が用意されていますが、
実はEC-CUBEにはデフォルトのSmartyでは存在しない関数が存在します。

よく見るもので言えば「nl2br」や「h」ですね。
これらはプラグインによって追加された「カスタム関数」になります。

3.Smartyプラグインはどういう時に使うの?

基本的なことはEC-CUBEのSmartyに最初から入っている関数でほとんど出来ます。

またわざわざSmartyプラグインを使わなくても動的な値などはPHPで対応可能です。

が!

Smartyは「テンプレートエンジン」なのです。

そう、つまり!

デザイナーさんの為の機能なのです!

たとえばEC-CUBEをカスタマイズしてブログ機能作った場合に、
記事内に<!–{more_read}–>と記述し投稿すると、一覧ページではそこから先は自動的に非表示になり、
全文記事ページへのリンクが貼られた「もっと読む」ボタンが表示される・・・。

など、管理者にとって嬉しい機能を実装することが出来ます。

もちろん、PHPだけでも同様の機能が実装できますが、
「管理者が使いやすい様な機能」という問いに対する回答の選択肢を増やすことが出来るのは、
大きなメリットになると思います。

4.Smartyプラグインってどうやって導入するの?

導入はとても簡単です。

なんと・・・dataディレクトリ配下のsmarty_extendsディレクトリに置くだけ!

これは、Smartyが自動的にファイル名を解析し読み込んでくれる為です。

ですのでプラグインファイルの命名規約などが決まっていますが、
Smartyの公式サイトやすでに公開されているプラグインを見て頂ければ、
比較的簡単に理解することが出来ると思います。

内容も基本的にはPHPで処理を書くだけですので、
一度作ってしまえば簡単に複数のサイトに導入できるメリットもあります。

X.終わりに

今回は「EC-CUBEに秘められたもう一つのプラグイン」をメインに記事を書かせて頂きましたが、
EC-CUBEをきちんと理解している方にとっては恐らく当たり前の内容かと思います。

ですが、意外と開発時に見落としがちになる要素なので、是非検討して頂き開発の手助けになれば幸いです。

最後に・・・実は「EC-CUBEに秘められたもう一つのモジュール」も存在します!

では、またの機会に。


このEC記事につけられたタグ