diff includes/class.skeleton.php @ 43:1cdb1a68634b

Changement dans la facon dont on choisi le format. Pour choisir un format, on passe maintenant en query-string un paramètre dont le nom correspond au nom du format souhaité, et sans valeur. Mise à jour du .htaccess en fonction de cette nouvelle forme de selection.
author Franck Deroche <webmaster@defr.org>
date Wed, 14 Nov 2007 17:12:37 +0100
parents 33d1c5a13acd
children 77b3ed19aab9
line wrap: on
line diff
--- a/includes/class.skeleton.php	Wed Nov 14 17:01:23 2007 +0100
+++ b/includes/class.skeleton.php	Wed Nov 14 17:12:37 2007 +0100
@@ -249,11 +249,22 @@
       // Construction du tableau des différents templates
       // permettant de répondre au "type" de sortie demandé
       $iniFile = parse_ini_file('templates.conf', true);
-     
-      $format = Factory::getRequete()
-                       ->get('outputType', null, Skeleton::OUTPUT_XHTML);
 
-      if(array_key_exists($format, $iniFile)) {
+      // Récupération de la requete
+      $requete = Factory::getRequete();
+    
+      // On essaie de trouver le format en Query-String
+      // On recherche tout d'abord un paramètre correspondant
+      // au nom d'un des formats. On prend le premier mentionné,
+      // par ordre d'apparition dans le fichier templates.conf
+      $format = null;
+      while(is_null($format) && list($key, ) = each($iniFile)) {
+         $format = $requete->get($key, null, null);
+      }
+      
+      // Si on a trouvé un format, on l'applique. 
+      // Sinon, on prend le template nommé 'xhtml'
+      if(!is_null($format)) {
         Skeleton::$templates = $iniFile[$format];
         Skeleton::$outputType = $format;
       } else {