[spip-dev] BUG? Syntaxe des modèles quand on appel un sous-type

Supposons un modèle avec des sous-typeset de nombreux paramètres.

Si j'écris :

<modele|variante|param1=1|param2=2|param3=3> alors le fichier modeles/modele_variante.html est bien appelé.

Mais si j'utilise une écriture plus aérée :

<modele|variante
   >param1=1
   >param2=2
   >param3=3
>

Alors, le fichier modeles/modele_variante.html n'est pas trouvé en raison des caractères situés à la droite de variante.

Dans ecrire/inc/assembler.php, dans la fonction inclure_modele, lignes 511-529, l'ajout de quelques appels à trim() permet de pouvoir utiliser la syntaxe aérée :

  $params = array_filter(explode('|', $params));
  if ($params) {
    list(,$soustype) = each($params);
    $soustype = strtolower($soustype);
    if (in_array(trim($soustype),
    array('left', 'right', 'center', 'ajax'))) {
      list(,$soustype) = each($params);
      $soustype = strtolower($soustype);
    }

    if (preg_match(',^[a-z0-9_]+$,', trim($soustype))) {
      if (!trouve_modele($fond = ($type.'_'.trim($soustype)))) {
        $fond = '';
        $class = trim($soustype);
      }
      // enlever le sous type des params
      $params = array_diff($params,array($soustype));
    }
  }

Modification testée sous SPIP 2.1.2

Cordialement

joseph