SmartyでPHP関数を呼ぶ方法

Smartyを使っていて、0埋めされていない現在の月の値(1〜12)を出力したい時に、

{$smarty.now|date_format:"%m"}

では、01〜12の2桁の値が出力されるし、%m以外に月の値を出力できる変換指定子もないので困りました。

date関数が使えれば楽なのになぁ、と思って調べてみたら、ちゃんとPHP関数を呼ぶ方法が用意されていました。

その方法

PHP関数はSmartyの修飾子として指定できるようです。

あらかじめ用意されている修飾子しか指定できないと思っていました。

全ての PHP 関数は暗黙で修飾子として使用する事ができます。

Smarty 第 5章変数の修飾子

というわけで、↓の記述で無事に0埋めされていない現在月の値の取得ができました。

{"n"|date}

色々と使えそう

今まで知らなかったけど、これはかなり使えそうな予感。もっと早く知りたかった。