What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
Table of Contents
全てのテンプレートタグはデリミタによって囲まれます。
デフォルトではデリミタは {
と }
ですが、これは 変更可能 です。
このマニュアルで挙げる例ではデフォルトのデリミタを利用しています。 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> *} </body> </html>