Smarty Manual
Prev | Chapter 18. 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 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>

Prev | Home | Next
Dates | Up | Componentized Templates