Google
 
SMARTY
たぶねこ @ 2007年6月13日 8:51 AM

テンプレートの動的変更箇所(ソース修正を伴わず操作/状況により自動的に表示内容を変更する箇所)を記述するためのデータ記述例を下表に示します。
尚、PHPからSMARTYへの変数などの割り当ては、同名で指定されているものとします。

データタイプ PHP SMARTY
変数 $name $name
配列 $array[0] $array[0]
連想配列 $array[value] $array.value
多次元配列 $array[days][monday] $array.days.monday
POST $_POST[value] $smarty.post.value
GET $_GET[value] $smarty.get.value
SESSION $_SESSION[value] $smarty.session.value
クッキー $_COOKIE[value] $smarty.cookie.value
環境変数 $_SERVER[PHP_SELF] $smarty.server.PHP_SELF
定数 ROOT_DIR $smarty.const.ROOT_DIR

SMARTY側でのデータの編集は、サニタイズと表示形式への成型(「2007-06」 -> 「2007年6月」)など、修飾子による加工のみ行うようにして、複雑な加工や集計などの作業はPHP側で行うようにした方が良いでしょう。可読性やデザイナーとプログラマーの分業と言う意味でも有効だと思われます。

■配列の注意事項
連想配列の表記方法がPHPとは異なり、「 . 」を使用します。
そのためPHPのように文字列の結合として「 . 」を使用する事はできません。
 「 { 」、「 } 」で区切って結合します。
( 「 echo $array[year].$array[month].$array[day] 」
 -> 「{$array.year}{$array.month}{$array.day} )
「 $array[”day”.$counter] 」のような表記などの複雑な記述は避けて利用する方が賢明でしょう。
(できるのかは不明。ただ、実現できてもテンプレートの可読性が損なわれると思いますよ。)

コメントはまだありません »

コメントはまだありません。

この投稿へのコメントの RSS フィード。 TrackBack URI

コメントする

*

Copyright (c) 2007 njcFactory All rights reserved.
HTML convert time: 0.308 sec
Images is enhanced with WordPress Lightbox JS by Zeo
Powered by WordPress.