Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Advertisement

WAP/WML

Les templates WAP/WML nécessitent un en-tête Content-Type qui doit être passé avec le template. Le moyen le plus facile de faire celà est d'écrire une fonction utilisateur qui écrit l'en-tête. Si vous utilisez le cache, celà ne fonctionnera pas. Nous utiliserons donc une balise d'insertion ({insert}) (rappelez-vous que les balises d'insertion ne sont pas mises en cache !). Assurez-vous qu'aucune sortie rien n'est transmise au navigateur avant l'appel du template, sans quoi la modification de l'en-tête échouera.

Example 18.6. Utilisation d'{insert} pour écrire un en-tête Content-Type WML


<?php

// assurez-vous que Apache est configuré pour les extensions .wml !
// mettez cette fonction quelque part dans votre applications
// ou dans Smarty.addons.php
function insert_header() 
{
   // cette fonction attend un argument $content
   if (empty($params['content'])) {
       return;
   }
   header($params['content']);
   return;
}

?>

    

votre template Smarty doit commencer avec la balise d'insertion :


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