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:
WAP/WML テンプレートはテンプレートコンテンツに加え、php
によって Content-Type ヘッダ
が渡される必要があります。これを実行する容易な方法は、
ヘッダを出力するカスタム関数を記述する事です。
もし キャッシュ を有効にしている場合はキャッシュは機能しないので、
{insert}
タグを用いて出力を行います ({insert}
タグはキャッシュされない事を覚えていて下さい)。
もしテンプレートの前にブラウザに何か出力されていると、
ヘッダの出力は失敗する可能性があります。
Example 18.6. WML Content-Type ヘッダを出力するために {insert} を使用する
<?php // apache で拡張子.wml の設定がされている事を確認して下さい! // この関数をアプリケーション内あるいは Smarty.addons.php で定義します function insert_header($params) { // この関数は、パラメータ $content を期待します if (empty($params['content'])) { return; } header($params['content']); return; } ?>
Smarty テンプレートは、次のように insert タグから始まる必要があります。
{insert name=header content="Content-Type: text/vnd.wap.wml"} <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <!-- 新しい wml のデッキ --> <wml> <!-- 最初のカード --> <card> <do type="accept"> <go href="#two"/> </do> <p> Smarty 版の WAP へようこそ! OK を押すと次に進みます…… </p> </card> <!-- 二枚目のカード --> <card id="two"> <p> どう?簡単でしょ? </p> </card> </wml>