2006年05月16日

カンマ編集って面倒じゃない?(プラグインのススメ)

すっかり更新が止まってました。はよ書け!と、突っ込みまで頂きました(汗)。

金額などはよく、カンマ編集して表示します。カンマ編集自体は、PHPの number_format 関数を使えばなんてことないんですが、カンマ編集した値は計算には使えないので、表示用に、カンマ編集した値も別途必要になります。

1つの値に2つの変数が要るわけで、変数名をどうするか?例えば、$price と $price_str にしようかとか。。。

これを考えるだけでも、メンドイ。プログラムの関数の中で、引数で2つ渡すべきか、それぞれの関数の中で編集するかとか。。。。あぁ~、メンドイ。

と、Smartyの修正子を見ても、あってもよさそうなカンマ編集がない。

こんなときは、

自分で、修正子を作ってしまおう!!

作り方さえわかれば、簡単に作れます。Smartyで言うところの、プラグインと言うものになります。

Smartyをインストールしたフォルダに plugins というフォルダがあります。ここに標準のプラグインが入っています。今まで修正子と呼んでたものは、プラグインという形で、最初からここに入っています。これもPHPの簡単な関数なので、それを参考に作っていきます。

まだ、私は修正子のプラグインしか作ったことがないのですが(汗)

modifier.nl2br.php というファイルがあります。これは、前述したnl2brです。

中身を見てみましょう。たった4行の関数です。それも、return nl2br($string); してるだけ。これだけなんです。

ファイル名や関数名には決まりがあるので、その決まりを守っていけばOKです。

2006年05月16日 11:23 |  4.変数の修正子


トラックバック

このエントリーのトラックバックURL:

コメント

Smartyは、全てのPHP関数を「暗黙の」修飾子として利用できます。number_formatも

{$value|number_format}

と書けば修飾子扱いされるので、プラグインを作らずとも簡単にカンマ区切りができますよ。誰もツッコまないみたいなので参考までにコメントさせていただきました。

以前、個人的にSmartyの講師をやった際のPDFがありますので、もしよろしかったらどうぞ。(かなり初心者向けの内容ですが)

http://monolog.spanstyle.com/archives/2005/0822_1350.html

ishii : 2006年11月14日 02:40

初めまして。

なるほど。それは知りませんでした。
テンプレートの例え、、、笑えました(笑)

imai : 2006年11月14日 10:59

コメントしてください




保存しますか?