とあるプログラマの備忘録

都内某所に住むプログラマが自分用に備忘録を残すという趣旨のブログです。はてなダイアリーから移動しました!

Smarty

Smarty でforっぽい動きをさせる

いつも忘れる。 探すのめんどい。。 <div style='padding-left:5px'> <select name='amount'> {section name=cnt loop=10} <option value={$smarty.section.cnt.index}>{$smarty.section.cnt.index}個</option> {/section} </select> </div>

Smartyでcountを使い演算する方法

たとえばこんな配列を作って これをアサインして、これらを配列のcountを表示して、 それらを演算したいならsmartyではこうやればおk。 {math equation="x + y" x=$arr|@count y=1 assign=con} {$con} こうやると、countも使えて演算もできます。 こんなも…

SmartyのテンプレートないにJavascriptを記述したいときにエラー回避

いや、別にjsファイルを作成して読み込ませればいいだけなんだけど、 今回たまたまそんなことがあったので記述。 {literal} <script language="javascript" type="text/javascript"> <!-- //--> </script> {/literal} このリテラルで囲ってやればおk。

Smarty のdate_formatを使ってみる

たぶんここまで来た人はおんなじ悩みで悩んでると勝手に思ってる。YYYY-MM-DD HH:ii:ssのフォーマットでUNIXタイムスタンプを表示させますー。 {$unixtimestamp|date_format:"%Y-%m-%d %H:%M:%S"}

SmartyでインクリメントしてIDを振る。

テーブルとか作って一番左にNoとかやって連番振りたいときに、 まぁphpで処理書いちゃえば委員だけど、 「こちトラすでにオブジェクトに値つこんでんだよ!」って時に使えるテク。 <table> <tr> {foreach from=$obj item="object" name="loop"} <td>{$smarty.foreach.loop.i</td></tr></table>…

Smarty で数字にカンマをつけてくれるようにする number_format

金額とか表示させたいときにつかいましょー。 {1234567|number_format} ※注意 パイプの前とか後ろにスペースを入れるとうまく表示されないことがあるから注意が必要!! phpでやりたいならこれね。 print number_format(1234567);

あれ?スマーティーとPHPでIFの記述って違うんだっけ??w

一見何で通らないのかわからなかった。。。。 ○{if $changeFlg == 1}<p>ほげ</p>{/if} ×{if ($changeFlg == 1)}<p>ほげ</p>{/if}これはあわせてもよかったんじゃないか?

Smarty の入力チェックで引っかかったときの表示の対処

入力フォームのデフォルトの値が入力チェックで引っかかったときに通常時はDBからの値を取得して 入力チェックで引っかかったときにはRequestの値をとりたいとき。こんな感じで書けば入力が補完できる。 <td><input type="text" name="defence" value="{ここにRequestで取得した値|default:ここにDBから取得した値}" / ></td> これを使えばIFを使わなくても入力チェック後の入力…