参考にさせて頂いたページ
cakeとsmartyについて参考にさせて頂いたページ
Smarty :: View topic - Using counter to access array elements?
CakePHP用のSmartyプラグイン - basuke の日記
cakePHPでSmartyを利用する方法 その2 - かけだしエンジニアの独り言
CakePHP renderElementで使い回す | BW-LOG
Smarty と cakePHP 適当メモ ← Neo Inspiration
OBORO: cakephpでsmarty 別のテンプレートをインクルードする
CakePHP viewにelementを埋め込む | Into my web
Smartyについて参考にさせて頂いたページ
smartyテンプレートの変数で文字列を連結する - 作業ノート
以下にまとめる
コメント
{* コメント *}
変数への値の代入と出力
2.xの書き方
{assign var="example" value="文字列とか"}
{$example}
3.xの書き方
{$example="文字列とか"}
{$example}
配列への値の代入と出力
2.xの書き方
{assign var="myArray" value=array(10,20,30)}
{$myArray[0]}
{$myArray[1]}
{$myArray[2]}
3.xの書き方
{$myArray=[10,20,30]}
{$myArray[0]}
{$myArray[1]}
{$myArray[2]}
Elementsの呼出し (変数を渡さなくても良い場合)
{$view->element("StyleguideTables/styleguide_header")}
Elementsの呼出し (変数$exampleをElementsの中で使いたい場合)
{$view->element("StyleguideTables/styleguide_header",["example"=>"文字列"])}
配列$myArray[0]などをElementsの中で使いたい場合
{$view->element(
"StyleguideTables/styleguide_header",
["myArray"=>
[
10,
20,
30
]
]
)}
連想配列$myArray['first']などをElementsの中で使いたい場合
{$view->element(
"StyleguideTables/styleguide_header",
["myArray"=>
[
"first" => "hoge",
"second" => "fuga",
"third" => "foo"
]
]
)}
include
参考:OBORO: cakephpでsmarty 別のテンプレートをインクルードする
{include file="example.tpl"}
{include file="example.tpl" title="文字列"}
{include file="example.tpl" title=$title}
みたいな感じなのかな?まだ試していないのでまた検証できたら書く。
連想配列の値設定とforeach (連想配列キーが不要な場合)
2.xの書き方
{assign var="myArray" value=[
"first" => "hoge",
"second" => "fuga",
"third" => "foo"
]}
{foreach from=$myArray item=example}
<div>{$example}</div>
{foreachelse}
<div>データがありません。</div>
{/foreach}
3.xの書き方
{foreach $myArray as $example}
<div>{$keyString} : {$example}</div>
{foreachelse}
<div>データがありません。</div>
{/foreach}
連想配列の値設定とforeach (連想配列キーも取得したい場合)
2.xの書き方
{assign var="myArray" value=[
"first" => "hoge",
"second" => "fuga",
"third" => "foo"
]}
{foreach from=$myArray key=keyString item=example}
<div>{$keyString} : {$example}</div>
{foreachelse}
<div>データがありません。</div>
{/foreach}
3.xの書き方
{foreach $myArray as $keyString => $example}
<div>{$keyString} : {$example}</div>
{foreachelse}
<div>データがありません。</div>
{/foreach}
配列の中身を確認する
参考:Smartyで配列のダンプを表示させる5つの方法 [C!]
<pre>
{$myArray|@var_dump}
</pre>
<pre>
{$myArray|print_r}
</pre>
文字列の入っている変数を連結する(変数$exampleに連結した文字列を入れる)
まず変数もプレーンな文字列も含めてダブルダブルクォートで囲み、変数はさらにバッククォートで囲む。
連想配列や配列も同様。
cat修飾子を使う方法もあるとのこと。
2.xの書き方
{assign var='example' value="`$smarty.server.PHP_SELF`文字列`$foo`"}
3.xの書き方
{$example=="`$smarty.server.PHP_SELF`文字列`$foo`"}