マジ、便利じゃのお Smarty(笑)

さっき、「OpenPNE のテンプレートエンジンは Smarty だから」の中で書いた Smarty の例文のつづき。

ログインしてニックネームが取れる状態と、未ログインでニックネームが取れない場合で処理を分けるには、

({if $c_member.nickname})
    ({$c_member.nickname})さん、こんにちは
({else})
    ようこそ!
({/if})

と書けば良いのだが、例えば、ニックネームが取れないときは、無条件に'ゲスト'という名前にしちゃうというのであれば、

({$c_member.nickname|default:'ゲスト'})さん こんにちは

$c_member.nickname が偽(未定義値だったり空だったり)の時、標準で'ゲスト'を出威力せよということだ。
なるほど、いちいちロジック書かなくても良いのは確かに便利だ。
が、これを便利だと思った瞬間に、何となく自分のプログラマ度が下がった気がするのは何故だろう。(笑)

ところで、Smarty のマニュアルを読むと、デリミタ文字は {}(波カッコ)になっているのに、OpenPNE のテンプレートじゃ ({})(丸カッコと波カッコの組み合わせ)になってるんで、なんでやねん?OpenPNE の独自仕様 Smarty ?とか思ったら、

$smarty = new Smarty;
$smarty->left_delimiter = '({';
$smarty->right_delimiter = '})';
...

みたいに簡単にデリミタ文字の設定は変えられるようで。

そりゃそうだよな。

トラックバック(0)

このブログ記事を参照しているブログ一覧: マジ、便利じゃのお Smarty(笑)

このブログ記事に対するトラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/638

コメントする

このブログ記事について

このページは、shinodaが2009年6月11日 16:39に書いたブログ記事です。

ひとつ前のブログ記事は「OpenPNE のテンプレートエンジンは Smarty だから」です。

次のブログ記事は「MTOS を 4.26-ja にバージョンアップ」です。

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


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら