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 21.6. 使用 {insert} 来插入一个WML类型的文件头
<?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页面! 按“确定”继续... </p> </card> <!-- 第二张卡片 --> <card id="two"> <p> 很简单,不是吗? </p> </card> </wml>