Manuel Smarty

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.

Exemple 18-6. Utilisation d'{insert} pour écrire un en-tête Content-Type WML

  1. <?php
  2.  
  3. // assurez-vous que Apache est configuré pour les extensions .wml !
  4. // mettez cette fonction quelque part dans votre applications
  5. // ou dans Smarty.addons.php
  6. function insert_header()  
  7. {  
  8. // cette fonction attend un argument $content
  9. if (empty($params['content'])) { 
  10.    return;  
  11. }  
  12. header($params['content']);  
  13. return;  
  14. }  
  15.  
  16. ?> 

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>

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Bretagne - php - Moto - Kit graphique