EC-CUBEカスタマイズに使える!Smartyの「修飾子」。

今日の午前中、家庭菜園の草取りをしました。トマト、ピーマン、ナスはちょっと元気がないですが、キュウリは元気。昨日3本ほど立派なキュウリを収穫して、夕飯においしくいただきました。まだ黄色の花をたくさん付けているので、これからの収穫も楽しみです。

いま、仕事でEC-CUBEのカスタマイズを行っています。EC-CUBEでは「Smarty」というテンプレートエンジンが使われていますが、そのSmartyについてのメモです。

Smartyの変数の「修飾子」について、自分の備忘録を兼ねてメモ。下記の修飾子のリストは、Smartyのマニュアルサイトから引用しました。一覧してわかりやすいように、修飾子名の横にそれぞれ説明をコピーしました。ぜんぶで21個あります。

capitalize 変数内の全ての単語の先頭を大文字で開始します。
cat 与えられた変数に値を連結します。
count_characters 変数内の文字数をカウントします。
count_paragraphs 変数内のパラグラフの数をカウントします。
count_sentences 変数内のセンテンスの数をカウントします。
count_words 変数内の単語の数をカウントします。
date_format 日付と時間を strftime() のフォーマットに基づいて整形します。
default 変数のデフォルト値を設定します。
escape 変数のエンコードやエスケープを行います。
indent 各行で文字列をインデントします。
lower 変数を小文字に置き換えます。
nl2br 与えられた変数内の全ての改行文字 "\n" を html の <br /> タグに変換します。
regex_replace 変数に対して正規表現による検索・置換を行います。
replace 変数に対して、シンプルな検索・置換を行います。
spacify 変数の各キャラクタ間にスペースを挿入します。
string_format 変数の値を10進数として表示したり、文字列をフォーマットして表示します。
strip 繰り返された空白・改行・タブを、1つの空白または与えられた文字列によって置き換えます。
strip_tags マークアップタグを取り除きます。
truncate 指定したキャラクタ数(デフォルトは80)で変数を切り捨てます。
upper 変数を大文字に置き換えます。
wordwrap 指定したカラム幅で文字列をワードラップします(デフォルトは80)。

引用元: Smarty.

EC-CUBEの商品詳細ページのテンプレートを見てみると、count_charactersescapenl2brなどの修飾子が使われていました。number_formatという修飾子もありましたが、これはPHPの関数を修飾子として使用している例です。

ロジックはPHPに、表示はSmarty、というのが原則ですが、修飾子をうまくつかうことで、Smarty(テンプレート)側だけでいろいろな処理を書くことができます。

This entry was posted in EC-CUBE and tagged . Bookmark the permalink. Follow any comments here with the RSS feed for this post.

コメントをどうぞ

Your email is never published nor shared. Required fields are marked *

*

You may use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>