Bonjour,
Je me permets de poser la question directement côté français sachant que coroico est impliqué dans le développement de ce snippet.
Une chose qui me gêne est que, pour personnaliser les templates, il faut aller modifier le fichier "includes/templates.inc.php". En effet, je trouve que ça rend les mises à jour un peu plus délicates.
Dans la version 1.6, j’avais modifié le snippet pour rajouter un paramètre permettant d’inclure un fichier dans lequel je remplace les variables qui m’intéressent par d’autres valeurs.
Dans la nouvelle version 1.7, je me suis dit: chouette, avec le nouveau paramètre &config, plus besoin de bidouiller le code.
Manque de chance, le fichier config est inclus AVANT le fichier de langue et les templates !
D’où ma requête : serait-il possible que, dans la prochaine version, le fichier config soit inclus APRES les templates et les fichiers de langue ?
Où alors, de rajouter des paramètres pour modifier les templates (ça me paraît moins simple mais pourquoi pas) ?
Bonsoir Enidan
En fait les pistes que je suis en train d’explorer pour la future version 1.8 de AjaxSearch sur les sujets que tu soulèves sont les suivantes:
- fichier config:
Aujourd’hui le fichier de config est inclus après l’initialisation des paramètres, ce qui entraine l’écrasement des valeurs affectées aux paramètres dans l’appel de snippet.
Or il serait utile, si des valeurs ont été définies dans l’appel de les conserver et d’affecter uniquement des valeurs via le fichier de configuration aux paramètres non initialisés.
Dans la version 1.8, je prévois donc de procéder ainsi:
$parameter = isset($parameter) ? $parameter : ( isset($_parameter) ? $_parameter : defaultValue));
Avec la possibilité dans le fichier config d’avoir soit : $parameter = value; soit $_parameter = value;
Avec une insertion du fichier config avant l’initialisation des paramètres l’ecriture $param = value; écrasera la valeur utilisée dans l’appel alors que $_param conservera la valeur de l’appel. Et si la valeur n’est pas définie dans l’appel (ou dans le fichier), elle sera initialisée avec la valeur attrribué à $_param.
Ainsi si l’utilisateur écrit [!Snippet? ¶m1=`va` ¶m2=`vb`!]
et si dans son fichier de config il ecrit les lignes :
$param1 = ’vx’;
$_param2 = ’vy’;
$_param3 = ’vz’;
Cela veut dire que :
- quelque soit l’appel de snippet, $param1 prendra la valeur ’vx’ (surcharge)
- la valeur param2 conservera la valeur de l’appel de snippet donc ’vb’
- param3 prendra la valeur ’vz’, car non initialisé dans l’appel de snippet
La lecture du fichier language et templates continueront de se faire après la lecture du fichier de config. Car il serait dommage de s’interdire d’indiquer dans le fichier config, la langue et le fichier de template à utiliser dans tous les appels d’AS.
- templates:
Concernant les templates, je vais proposer :
- des parametres de type chunk permettant de surcharger le template par défaut. par exemple, &tplForm pour surcharger $templates[’form’]...etc. Seul impératif, conserver les placeholders.
- la possibilité via un paramètre &tplfile de prendre en compte un autre fichier que includes/templates.inc.php
Est ce que ces 2 évolutions permettront de prendre plus facilement en compte tes "personnalisations" ?
N’hésite surtout pas à me faire des suggestions.