PHP言語のプロジェクトでよく用いられているテンプレートエンジンSmartyのTips集です。この項目では、テンプレート内のみで処理を完結させたい場合の処理が多いと思います(表示の為だけにロジックに手を入れたくない場合など)。
このページは随時更新していきます。
表示桁数の指定
例えばアサインされた数値「57」の頭にゼロを追加して「0057」と四桁に揃えたい場合。
SmartyTemplate
# $int = 57;
# %04dの数値部分が桁数に対応
{$int|string_format:"%04d"}
# 出力結果は「0057」
文字列の分割、配列化
Smartyテンプレート内で配列を生成したい場合。下記の方法で文字列に指定の区切り文字を挿入することで分割、配列化することが可能です。
SmartyTemplate
{assign var="array" value=","|explode:'apple,orange,banana'}
# $array = Array('apple','orange','banana');
上記で配列が生成されるが、ループ時に文字列分割を行う方法もあります。
SmartyTemplate
# 文字列としてアサイン
{assign var="fruits " value="apple,orange,banana"}
# ループ構文内で文字列分割
{foreach from=","|explode:$fruits item="fruit"}
{$fruit}
{/foreach}
要は","|explode:"文字列,文字列…"
と記述することで、内部的にはPHPのexplode()
関数が実行されます。
このページは随時更新していきます。