[Smarty]変数・配列を表示する

smartyでの変数・配列の表示方法です。 ちなみに、php側でテンプレートにどんな値を返すかを設定されているのですが、ここではフロント側の作業としてテンプレートでのsmartyの扱いのみ紹介しています。 テンプレートに […]

smartyでの変数・配列の表示方法です。

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

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

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

ランキング {$arena_rank} 位

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

まずはPHPでいうところのvar_dumpでデータを調べます。
詳しくは[Smarty]テンプレートの変数・配列を調べるをご覧ください。

{$rank_list|@debug_print_var}

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

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

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

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

また連想配列も同様です。
$userに渡ってきている値が下記の通りだとします。

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

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

{$user.mail}

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

{$rank_list.$arena_rank}

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

基本的な表示方法の紹介になります。

Smartyおすすめ書籍

Smartyは古い書籍しかなく、Kindle版しかありませんでしたが下記が入門におすすめです。
「Smarty 3を覚える本」