WAP/WML

WAP/WML шаблоны требуют, чтобы заголовок Content-type был передан вместе с шаблоном. Простейший путь - написать пользовательскую функцию, которая будет выводить заголовки. Так как мы будем пользоваться тэгами insert, то заголовки не будут кэшироваться. Так же ничего не должно выводиться в браузер до шаблона, иначе заголовки могут быть неправильно восприняты.

Пример 18-6. Использование insert для записи WML Content-Type заголовков

// поместите эту функцию в приложение, или в  Smarty.addons.php
function insert_header() {
    // this function expects $content argument
    extract(func_get_arg(0));
    if(empty($content))
        return;
    header($content);
    return;
}

// шаблон ДОЛЖЕН начинаться с тэга 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"> 

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