Smarty Manual
Prev | Chapter 17. Tips & Tricks | Next

# WAP/WML

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 17-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>

Prev | Home | Next
Dates | Up | Componentized Templates