Quote
à ce propos je propose à rejeto une extrension de la macro 'section'
{{ section | mysection | fichier_externe}} (le code est deja sur papier brouillon)
you'd better tell what is supposed to do
if it loads the [mysection] from an external template file, then you can just do {{load|file}} {{$mysection}}
le but est de lire une partie (section) d'un fichier sans le charger complètement dans le template principal, au lieu d'avoir N fichiers contenant chacun 1 section, je préfère avoir 1 fichier contenant N sections et pouvoir charger la section qui m'intéresse.
si dans mon fichier j'ai des information confidentielles organisées en section comme par exemple
[user1]
name=toto
address= chez rejetto
tel=0123456789
[user2]
name=titi
address= toujours chez rejetto
tel=0123456789
....
[user5265898] // yes 5 265 898 users
name=mars
address= chez mars
tel=0123450000
il n'est pas nécessaire de charger tout le fichier dans le template par {{load|file}} et d'afficher la section désirée par {{$mysection}}, sinon j'utiliserai cette syntaxe
{{section|mysection|{{load|myfile}}}}
en considérant [mysection] is in myfile
utiliser %mysection% dans la partie main de hfs.tpl
et {load|myfile} à lal fin de hfs.tpl comme il se doit,
je ne pense pas que ca puisse fonctionner: 1 chance sur 2 selon l'ordre de résolution des macros
en reprenant mon idée
dans le fichier myfile se trouve la section
.
[section-précédente].
.
.
[mysection]
//begin mysection
...
//end mysection
[section-suivante]
.
.
.
le resultat obtenu serait:
//begin mysection
...
//end mysection
Tout ce blabla au dessus pour en arriver à ça:
en code delphi
if name = 'section' then
if pars.count=2 then begin
result:= loadFile(par(1)); //avec la syntaxe {{section|mysection|myfile}}
ou result:= par(1); //avec la syntaxe {{section|mysection|{{load|myfile}}}} plus de possibilités avec cette dernière
chop('['+par(0)+']',result); //suppression jusqu'au nom de section
chopline(result); //suppression de la ligne [mysection]
result:=chop('#13#10[',result); // couper en debut de section suivante ou si fin de fichier atteinte
end
else
try result:=md.tpl[p] except end;
Répons : oui la syntaxe est bonne et les fonctions sont judicieusement choisies pour ne pas exiger plus de code, et donner le résultat escompté.