FORSMILE
EN
Smarty2016/02/16

[Smarty]変数・配列を定義する(assign)

smartyの性質上、本来はPHP側でやること推奨なのですが現場ではそうも言ってられません。

ブログ一覧へ / Back to Blog

smartyの性質上、本来はPHP側でやること推奨なのですが現場ではそうも言ってられません。

実際には、変数をテンプレート側で作成して対応していることも多いです。

Smartyで変数を定義する

javascript
{assign var="name" value="山田"}
{assign "name" "山田"}

単純にnameという変数を作る場合は上記で終わりです。二つ目の例は短縮形です。

javascript
{assign var="name" value=$user.name}
javascript
{assign var="total" value=$destroybonus+$score}

文字列と変数を連結する、変数と変数をくっつける

意外と便利なのがこれ。文字列と変数をくっつけて変数をつくれます。

foreach文の中とかで複数変数を作りたい時とかに便利です。

javascript
{assign var='bonusImage' value="label`$bonusId`.png"}
javascript
{assign var="nextButton" value="`$color``$length`"}

カウントする

javascript
{assign var="count" value=0}
{$count=$count+1}

$count++ はエラーにはならないが計算されない。foreach文等で加算したい場合に。

参考:配列を定義する

⇒参考http://d.hatena.ne.jp/studio-m/20070512/1178978926

javascript
{assign_array var="fruits" values="apple,banana,orange"}

Smarty3だとプラグインを必要としないようです。情報提供いただきありがとうございます。

Smartyおすすめ書籍

Smartyは古い書籍しかなく、Kindle版しかありませんでしたが下記が入門におすすめです。

📦
Amazon で関連書籍・ツールを検索
PHP テンプレートエンジン
Amazonで探す →(アソシエイトリンク)