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

| コメント(2) | トラックバック(0)

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

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

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

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

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

こんなときは、

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

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

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

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

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

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

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

トラックバック(0)

トラックバックURL: http://www.karakuriya.biz/mt/mt-tb.cgi/425

コメント(2)

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

{$value|number_format}

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

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

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

初めまして。

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

コメントする

このブログ記事について

このページは、H.Imaiが2006年5月16日 11:23に書いたブログ記事です。

ひとつ前のブログ記事は「修正子を連結して使う」です。

次のブログ記事は「カンマ編集プラグインの作り方」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。