WAP/WML页面
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>