Smartyで変数・配列を表示する



前回はテンプレートに渡された変数や配列の調べ方をやりました。
変数・配列の表示方法です。

ちなみに、php側でテンプレートにどんな値を返すかを設定されているのですが、ここではフロント側の作業としてテンプレートでのsmartyの扱いのみ紹介しています。

テンプレートに渡っている変数を表示する。

まずは配列でもオブジェクトでもない単純な変数の表示です。
仮にarena_rankという変数があった場合下記のように頭に$をつけて{}でくくるだけです。これでテンプレートに

ランキング {$arena_rank} 位

テンプレートに渡っている配列を表示する

配列というとわかりにくいかもしれませんが、簡単にいうと複数の変数を格納できる変数です。

{$rank_list|@debug_print_var}

先日紹介した下記debug_print_varで中身を確認してみると$rank_listの中身が下記の通りだったとします。

0
 "山田"
1
 "田中"
2
 "中山"

上記例で例えば一番最初の山田を表示したい場合は下記の通りになります。
幾つか書き方があります。

{$rank_list[0]}
{$rank_list.0}

また上記のように0から始まるインデックスではなく他のキーを持った配列も同様です。
$userに渡ってきている値が下記の通りだとします。

name
 "山田"
mail
 "aaa@aaa.com"
tel
 "000-0000-0000"

mailアドレスを表示したい場合は

{$user.mail}

配列の表示する時に変数のキーを使用することもできます。

{$rank_list.$arena_rank}

arena_rankの数値によって表示される名前が変わります。

基本的な表示方法の紹介になります。実例を合わせてまた紹介していきたいと思います。


Leave a comment