hitoshop14 @ ウィキ
変数・修飾子・関数・フォーマットなど
最終更新:
hitoshop
-
view
変数・修飾子・関数・フォーマットなど
変数
◆変数の参照方法
| 変数式 | 意味 |
| { $goods } | スカラ変数goodsの値 |
| { $goods[0] } | 単純配列goodsの、0番目の要素 |
| { $goods.name } | 連想配列goodsの、name要素 |
| { $goods->name } | オブジェクトgoodsのnameプロパティー |
| { $goods->name() } | オブジェクトgoodsのnameメソッド |
◆予約変数{ $smarty }を介して取得できる情報
| カテゴリ | 構文 | 概要 | 使用例 |
|
リクエスト |
{$smarty.get.パラメータ名} | クエリ情報($_GET) | {$smarty.get.id} |
| {$smarty.post.パラメータ名} | ポストデータ($_POST) | {$smarty.post.name} | |
| {$smarty.cookies.パラメータ名} | クッキー情報($_COOKIE) | {$smarty.cookie.email} | |
| {$smarty.session.パラメータ名} | セッション情報($_SESSION) | {$smarty.session.usrid} | |
| {$smarty.server.パラメータ名} | サーバ変数($_SERVER) | {$smarty.server. HTTP_USER_AGENT} |
|
| {$smarty.env.パラメータ名} | 環境変数($_ENV) | {$smarty.env.Path} | |
| 変数/定数 | {$smarty.config.パラメータ名} | 設定ファイルの値 | {$smarty.config.author} |
| {$smarty.cost.定数名} | PHP定数の値 | {$smarty.cont. SITE_URL} |
|
| {$smarty.now} | 現在時刻 | {$smarty.now | date_format :'%Y年 %m月 %d日' } |
|
| ループ | {$smarty.foreach.ループ名.変数名} | ループ情報 | foreachのページを参照 |
| エスケープ | {$smarty.ldelim} | 左デリミタ | {$smarty.ldelim} |
| {$smarty.rdelim} | 右デリミタ | {$smarty.rdelim} | |
| 情報 | {$smarty.template} | 実行中のテンプレート名 | {$smarty.template} |
| {$smarty.version} | Smartyのバージョン | {$smarty.version} | |
| その他 | {$smarty.capture.ブロック名} | キャプチャされたコンテンツ | {$smarty.capture.header} |
◆修飾子
| カテゴリ | 修飾子 | 概要 |
| 加工 | capitalize | 単語の頭文字を大文字に変換 |
| cat:'文字列' | 指定された変数を連結 | |
| lower | 小文字に変換 | |
| upper | 大文字に変換 | |
| regex_replace:'置換前':'置換後' | 置換(正規表現対応) | |
| replace:'置換前':'置換後' | 置換(正規表現未対応) | |
| フォーマット | date_format:'フォーマット文字列' | 日付のフォーマット |
| string_format:'フォーマット文字列' | 文字列のフォーマット | |
| defult:'デフォルト値' | デフォルト値の設定 | |
| 特殊文字処理 | strip | 空白の除去・置換 |
| string_tags | タグの除去 | |
| nl2br | 改行文字を(</ br>)タグ変換 | |
| escape:'エスケープ型' | エスケープ処理 |
- 文字列・数値は、クォート【 ' 】で囲んでも囲まなくてもよい。
- true/falseは、クォート【 ' 】で囲んではいけない。
- 変数・変数値は、クォート【 ' 】で囲むべきではない。
◆Smartyで利用可能な変数
| カテゴリ | 関数 | 概要 |
| 変数 | assign | テンプレート変数に値をセット |
| capture | 出力内容を変数にセット | |
| 制御構文 | if | 条件分岐 |
| foreach | 繰り返し処理(1) | |
| section | 繰り返し処理(2) | |
| include | 外部テンプレートをインクルード | |
| include_php | 外部のphpファイルのインクルード(非推奨) | |
| inser | 外部テンプレートをインクルード(キャッシュ無効) | |
| fetch | 外部ファイル取り込み(http/ftp対応) | |
| config_load | 設定ファイルの読み込み | |
| eval | 指定された変数をテンプレートとして処理 | |
| 補助制御 | counter | カウンタ管理 |
| cycle | 値のセットを交互に出力 | |
| エスケープ | ldelim | 左デリミタ |
| rdelim | 右デリミタ | |
| literal | テンプレートエンジンからコード隠蔽 | |
| 加工 | strip | 出力から空白除去 |
| textformat | テキストを整形 | |
| mailto | mailto:リンクの生成 | |
| HTMLタグ | html_checkboxes | チェックボックスの集合 |
| html_image | イメージ | |
| html_options | プルダウンメニュー | |
| html_radios | ラジオボタンの集合 | |
| html_select_date | 日付のプルダウンメニュー | |
| html_select_time | 時刻のプルダウンメニュー | |
| html_table | テーブル | |
| JavaScript | popup_init | ポップアップウィンドウの初期化 |
| popup | ポップアップウィンドウの表示 | |
| その他 | php | phpスクリプト記述 |
| debug | デバッキングコンソールを有効化 | |
| math | 方程式の演算 |
◆日付・数値のデータフォーマット
| フォーマット文字列 | 概要 |
| %a | 現ロケールの基づく曜日名(省略名) |
| %A | 現ロケールの基づく曜日名(完全名) |
| %b | 現ロケールの基づく月名(省略名) |
| %B | 現ロケールの基づく月名(完全名) |
| %c | 現ロケールの基づく日付・時刻 |
| %C | 世紀(00~99) |
| %d | 日付(1~31) |
| %D | '%m%d%y'と同じ |
| %e | 日付(1~31)。1桁の場合、先頭に空白を付加 |
| %h | '%b'と同じ |
| %H | 時間(00~23)。24時間表記 |
| %I | 時間(01~12)。12時間表記 |
| %j | 年通算の日付(001~366) |
| %m | 月(01~12) |
| %M | 分(00~59) |
| %n | 改行文字 |
| %p | 現ロケールの基づく(AM/PM) |
| %r | 時間(a.m./p.m.) |
| %R | 時間。24時間表記 |
| %S | 秒(00~59) |
| %t | タブ文字 |
| %T | '%H:%M:%S'と同じ |
| %u | 曜日。1(月曜)~7(日曜) |
| %U | 年通算で何番目の週か算出(最初の日曜を最初の週) |
| %V | 年通算で何番目の週か算出(最低4日ある最初の週を1) |
| %W | 年通算で何番目の週か算出(最初の月曜を最初の週) |
| %w | 曜日。0(日曜)~6(月曜) |
| %x | 現ロケールに基づく日付(時刻を除く) |
| %X | 現ロケールに基づく時刻(日付を除く) |
| %y | 2桁の年(00~99) |
| %Y | 4桁の年 |
| %Z | タイムゾーン |
| %% | '%'(文字リテラル) |
サンプル
現在の時刻は、{ $smarty.now | date_format : '%Y年 %m月 %e日
%H:%M:%S' } です。
出力結果 現在の時刻は、2008年11月11日 21:28:43です。
現在の売上金額は、{ '1058421.185' | number_format : 2 }です。
出力結果 現在の売上金額は、1058,421.19です。