今日の午前中、家庭菜園の草取りをしました。トマト、ピーマン、ナスはちょっと元気がないですが、キュウリは元気。昨日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_characters、escape、nl2brなどの修飾子が使われていました。number_formatという修飾子もありましたが、これはPHPの関数を修飾子として使用している例です。
ロジックはPHPに、表示はSmarty、というのが原則ですが、修飾子をうまくつかうことで、Smarty(テンプレート)側だけでいろいろな処理を書くことができます。