WAP/WML

Os templates WAP/WML exigem um cabeçalho com o tipo de conteúdo (Content-Type) PHP para serem passados junto com o template. O modo mais fácil de se fazer isso seria escrever uma função personalizada que envia-se este cabeçalho. Se você está usando cache, isto não irá funcionar, então nós faremos isso usando a tag insert (lembre-se que tags de insert não são guardadas no cache!). Certifique-se de que nada é enviado ao navegador antes do template, caso contrário o cabeçalho não irá funcionar.

Exemplo 18-6. Usando insert para escrever um cabeçalho WML Content-Type

<?php
// certifique-se que o apache está configurado para reconhecer extensões .wml!
// coloque esta função em algum lugar de seu aplicativo, ou no arquivo Smarty.addons.php

function insert_header($params)
{
// esta função espera o argumento $content
if (empty($params['content'])) {
return;
}
header($params['content']);
return;
}
?>

seu template do Smarty deve começar com a tag insert, veja o exemplo à seguir:

{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> 
Bem-vindo ao WAP com Smarty!
Pressione OK para continuar...
</p> 
</card> 
<!-- begin second card --> 
<card id="two"> 
<p> 
Bem fácil isso, não é?
</p> 
</card> 
</wml>