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