Chapter 3. 基本構文

Table of Contents

コメント
変数
関数
属性
ダブルクォート内に埋め込まれた変数
演算子
Smarty の構文解析を回避する

全てのテンプレートタグはデリミタによって囲まれます。 デフォルトではデリミタは {} ですが、これは 変更可能 です。

このマニュアルで挙げる例ではデフォルトのデリミタを利用しています。 Smarty では、デリミタ外の内容は静的コンテンツとして表示されます。 Smarty がテンプレ ートタグを見つけると、その解釈を試みて適切な出力に置換します。

コメント

テンプレートのコメントはまずアスタリスクで囲まれ、次にそれを デリミタ タグで囲みます。このような形式になります。


{* これはコメントです *}

   

Smarty のコメントは、テンプレートの最終的な出力には表示されません。この点は <!-- HTML のコメント --> とは異なります。 これは、テンプレート内での内部的なメモとして使用するのに便利です。 誰にもバレません ;-)

Example 3.1. テンプレート内のコメント


{* これは Smarty コメントです。コンパイルされた結果には登場しません。 *}
<html>
<head>
<title>{$title}</title>
</head>
<body>

{* 別の Smarty コメント *}
<!-- HTML コメント。これはブラウザに送信されます -->

{* この、複数行の
   Smarty コメントは
   ブラウザへは送信されません
*}

{*********************************************************
クレジットブロックを含む複数行のコメント
  @ author:         bg@example.com
  @ maintainer:     support@example.com
  @ para:           var that sets block style
  @ css:            the style output
**********************************************************}

{* メインロゴなどを含むヘッダファイル *}
{include file='header.tpl'}


{* 開発メモ: 変数 $includeFile の値は foo.php で設定されています *}
<!-- 本体コンテンツブロックを表示します -->
{include file=$includeFile}

{* この <select> ブロックは余分 *}
{*
<select name="company">
  {html_options options=$vals selected=$selected_id}
</select>
*}

<!-- アフィリエイトのヘッダは無効にします -->
{* $affiliate|upper *}

{* コメントを入れ子にすることはできません *}
{*
<select name="company">
  {* <option value="0">-- none -- </option> *}
  {html_options options=$vals selected=$selected_id}
</select>
*}


{* テンプレート用の cvs タグ。以下の 36 はアメリカの通貨記号ですが、
. cvs がこれを変換してしまいます…… *}
{* &#36;Id: Exp &#36; *}
{* $Id: *}
</body>
</html>