カラーミーTips

 
カラーミーというより、Smartyの Tipsですが。
文字列の先頭何バイトかを判断して分岐したいケースがよくあります。substr くらいあるんじゃね?と思った貴方。甘いです、激甘です。そんなの Smartyにはないんです。
と、ここまで書いて、言い切っていいのか?と怖くなってググってみたらありました。orz

すべてのPHP関数は、暗黙的に修飾子として使用でき、修飾子は組み合わせることもできます。
{$ym|substr:0:4}

あるんです! あるんですよ、貴方。
と、ここまで書いて、ほんとか? カラーミーで使えたか? と思って試してみました。
[code]
Fatal error: Smarty error: [in file:2/product.tpl line 89]:
[plugin] (secure mode) modifier ‘substr’ is not allowed (Smarty_Compiler.class.php, line 1905)
in /home/sites/shop-pro.jp/web/app/libs/smarty/Smarty.class.php on line 1088
[/code]
やっぱ、カラーミーでは使えませんでした。
ということで、本題に戻ると『文字列の先頭何バイトかを判断して分岐したいケース』をカラーミーではどう書くかです。
[code]
<{if $object|truncate:7:"" == "

[/code]
こうやって書くんですねぇ。ちなみに、truncateの最後の””をつけないと、$object|truncate:7 は、”<object…”を返してくるので、このIF文は falseになります。(悩みました)

0 返信

返信を残す

Want to join the discussion?
Feel free to contribute!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です