LoginSignup
20
20

More than 5 years have passed since last update.

Smarty 小ネタTips集

Last updated at Posted at 2015-10-09

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()関数が実行されます。

このページは随時更新していきます。

20
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
20