今日はSmartyを触りました。
と言っても、
作業内容は単純で、
データベースから取得した配列のデータを
{foreach}を使ってループで1件ずつ取り出して、
一覧を表示させるだけです。
こんな感じです↓↓↓
{foreach from=$aryData item="data"} 処理 {/foreach}
さらに、
データが無い場合には、
「該当データがございません」
と表示させたいので、
そんな場合には以下の様に{foreachelse}を使ってやればいいようです。
{foreach from=$aryData item="data"} 処理 {foreachelse} 該当データがございません {/foreach}
ただ、
ここで一点問題が!!
{foreach}と{foreachelse}の間の処理で
HTMLを吐き出すのですが、
この時
{foreach from=$aryData item="data"} <u> <li>{$data.~}</li> </ul> {foreachelse} 該当データがございません {/foreach}
としてやると、
ループの度に<ul></ul>が出てしまいます。
今回は、
コーディングの都合で<ul></u>はどうしてもデータが存在する時にだけ出したいです。
普段あまりsmartyを使用しない私は、
取り敢えず調べて出てきた方法で対応することに!!
こんな感じで、↓↓↓
{if isset($aryData) and is_array($aryData)} <u> {foreach from=$aryData item="data"} <li>{$data.~}</li> {/foreach} </ul> {else} 該当データがございません {/if}
$aryDataの中に入れるデータが存在する場合にのみ、
ループ処理を実行させてやります。
取り敢えずは、
時間も無い中での作業なので、
今回はこんな対応で良しとしておきます!!
この記事へのコメントはありません。