2006年05月16日

プラグインはとても便利

カンマ編集のみならず、プラグインはとてもl便利です。

値はこうだけど、画面上はこう出したい!

って時は、プラグインがおすすめです。

例えば、データとして、1は男、2は女だった場合、次のようなプラグインを作っておけばいいわけです。

function smarty_modifier_sex($sex)
{
	if ($sex == 1) return "男";
	if ($sex == 2) return "女";
	return "";
}

"プラグインはとても便利"の続きを読む

| この記事へ |  4.変数の修正子 | コメント (0) | トラックバック (0) | 先頭へ


カンマ編集プラグインの作り方

では、実際に作ってみましょう。

テンプレートの中では

{$price|kanma}

と使うことにしましょう。作る修正子の名前は「kannma」です。

まず、ファイル名ですが、

modifier.修正子の名前.php

になります。なので、今回の場合は、modifier.kanma.php です。

次に関数名ですが、

smarty_modifier_修正子名

になります。なので、今回は、smarty_modifier_kanma です。

この関数の中で、値をもらって、カンマ編集して返してあげればいいわけで

"カンマ編集プラグインの作り方"の続きを読む

| この記事へ |  4.変数の修正子 | コメント (0) | トラックバック (0) | 先頭へ


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

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

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

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

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

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

こんなときは、

"カンマ編集って面倒じゃない?(プラグインのススメ)"の続きを読む

| この記事へ |  4.変数の修正子 | コメント (2) | トラックバック (0) | 先頭へ


2006年03月23日

修正子を連結して使う

修正子はそれ単体でも使えます(当然です)が、通常は複数の修正子を使います。

例えば、input タグで入力された内容を、確認画面でそのまま表示する場合、エスケープしないといけない文字(<、> など)が入力されることもあります。
この場合、入力された文字をそのまま表示するには、escape が必要です。しかも、未入力の場合は「*未入力」と表示したい場合には、default も使います。

このような場合は、次のように書きます。

{$str|escape|default:"*未入力"}

"修正子を連結して使う"の続きを読む

| この記事へ |  4.変数の修正子 | コメント (0) | トラックバック (0) | 先頭へ


2006年03月08日

nl2br:改行文字を <br />に変換

textareaで複数行入力すると、必ずと言っていいほど「改行」されます。これをこのまま表示しても改行されません。HTMLの改行は <br /> なので、HTML上で改行させるには、これに変換しないといけません。

PHPには便利な関数があって、nl2br() を使って、改行文字を <br /> に変換できます。通常はこれを使って表示すればいいのですが、まったく同じ機能がSmartyにもあります。それが、 nl2br です。

{$str|nl2br}

で、勝手に改行してくれます。

"nl2br:改行文字を <br />に変換"の続きを読む

| この記事へ |  4.変数の修正子 | コメント (1) | トラックバック (0) | 先頭へ