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 templates require a php
Content-Type header
to be passed along
with the template. The easist way to do this would be to write a custom
function that prints the header. If you are using
caching, that won't
work so we'll do it using the
{insert}
tag; remember {insert}
tags are not
cached! Be sure that there is nothing output to the browser before the
template, or else the header may fail.
Example 18.6. Using {insert} to write a WML Content-Type header
<?php // be sure apache is configure for the .wml extensions! // put this function somewhere in your application, or in Smarty.addons.php function insert_header($params) { // this function expects $content argument if (empty($params['content'])) { return; } header($params['content']); return; } ?>
your Smarty template must begin with the insert tag :
{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"> <!-- begin new wml deck --> <wml> <!-- begin first card --> <card> <do type="accept"> <go href="#two"/> </do> <p> Welcome to WAP with Smarty! Press OK to continue... </p> </card> <!-- begin second card --> <card id="two"> <p> Pretty easy isn't it? </p> </card> </wml>