スポンサーサイト

一定期間更新がないため広告を表示しています

| スポンサードリンク | | - | - | pookmark |
Entry: main  << >>
Smartyの使い方:基礎構文
◆コメント文

テンプレート内にコメントを挿入できる。Smartyテンプレートにおけるコメント文はいったんコンパイルがされるので(Smartyエンジンによって)ブラウザで表示されることはなく、完全に隠蔽することが出来る。

{* このように中括弧とアスタリスクではさんだ内側のテキストがコメントとなる *}

{* 複数行にわたっても
大丈夫
こんな感じ *}


◆if文

PHPと同様の使い方が可能。また、if文の中ではPHP関数を利用することも出来る。

smarty_if.php
<?php
// Smartyクラスの呼び出し
require_once($_SERVER["DOCUMENT_ROOT"]."/Smarty/Smarty.class.php");

// 変数をセット
$sex = "m";

// Smartyインスタンスを生成
$smarty = new Smarty();

// テンプレート変数の割り当て
$smarty->assign("sex", $sex);

// 表示するテンプレートを指定
$smarty->display("smarty_if.tpl");
?>

/templates/smarty_if.tpl
■性別:

{* $sexの値がm、または1の場合 男 と表示する *}
{if $sex == "m" || $sex == "1"}

{* 上記の条件が当てはまらなかった場合 *}
{* $sexの値がf、または2の場合 女 と表示する *}
{elseif $sex == "f" || $sex == "2"}

{* 男、1、女、2、このどれにもあてはまらなかった場合は
未選択 と表示 *}
{else}
未選択
{/if}

■ あいさつ:
{* 時間が午前の場合 *}
{if date("a") == "am"}
おはようございます。
{* それ以外の場合 *}
{else}
お世話になっております。
{/if}

◆foreach文

PHPと比べた場合、記述方法が若干違うので注意が必要。また、Smartyにおけるforeach文にはforeachelseが用意されており、ループするべき配列が配列でなかった場合や、配列が空だった場合に処理を分けることが出来る。
{foreach from= ループする配列 key= キー値取得変数名 item= 要素取得変数名 }
{foreachelse}
{/foreach}

Smartyにおけるforeachの属性keyとitemに指定する変数名には、先頭に$記号をつけない。また、PHPにおけるforeach同様、ループ内でkeyを取得する必要がない場合はkey属性の記述を省略することが出来る。

smarty_foreach.php
<?php
// Smartyクラスを呼び出す
require_once($_SERVER["DOCUMENT_ROOT"]."/Smarty/Smarty.class.php");

// 都道府県を配列にして格納
$pre[1]= "北海道";
$pre[2]= "青森県";
$pre[3]= "岩手県";
$pre[4]= "宮城県";
$pre[5]= "秋田県";
$pre[6]= "山形県";
$pre[13]= "東京都";
$pre[47]= "沖縄県";

// Smartyインスタンスを生成
$smarty = new Smarty();

// テンプレート変数を割り当て
$smarty->assign("pre", $pre);

// 表示するためのテンプレートを指定
$smarty->display("smarty_foreach.tpl");
?>

/templates/smarty_foreach.tpl
住所:
<select name="pre">
{* 都道府県の配列がなくなるまで繰り返す *}
{foreach from=$pre item=pre_name key=num}

{* keyをオプションのvalue値にして
配列の内容をオプションのテキストとして表示 *}
<option value="{$num}">{$pre_name}</option>

{* 都道府県の配列が空の場合の処理 *}
{foreachelse}

<option value="">選択できません</option>
{/foreach}
</select>
| php | 15:55 | comments(0) | trackbacks(0) | pookmark |
スポンサーサイト
| スポンサードリンク | 15:55 | - | - | pookmark |
Comment








Trackback

Calendar

1234567
891011121314
15161718192021
22232425262728
293031    
<< October 2017 >>

Recommend

Recommend

Recommend

Profile

Search

Entry

Comment

Archives

Category

Link

Feed

Others

無料ブログ作成サービス JUGEM

Mobile

qrcode

Sponsored Links