Alors celui-ci serait plus simple avec une règle de conversion (Markup)
qui intercepterait la variable spécifique et réécrirait le texte désiré
à sa place.
Markup('ReelMaterialite', '<{$var}',
'/\\{(\\S*)\\$:ReelMaterialite\\}/', 'ReelMaterialite');
function ReelMaterialite($m) {
# nom des variables, dans le bon ordre
$ptv = explode(" ", "Matiere Presentation Valeur Repartition
Utilisation Materialite");
$out = "|| ";
$pn = $m[1];
foreach($ptv as $v) {
$out .= " {" . $pn. "\$:" . $v . "} ||";
}
return $out;
}
La fonction trouve {Groupe.Nom$:ReelMaterialite} et construit le texte
"|| {Groupe.Nom$:Matiere} || {Groupe.Nom$:Presentation} ||
{Groupe.Nom$:Valeur} || {Groupe.Nom$:Repartition} ||
{Groupe.Nom$:Utilisation} || {Groupe.Nom$:Materialite} ||"
qui est ensuite traité/transformé par PmWiki normalement.
Avec ça, la variable (:ReelMaterialite:...:) définie dans une page
serait ignorée.
Je ne suis pas certain que ça marcherait dans une "PageList template"
avec le raccourci {=$:ReelMaterialite} -- sinon on peut utiliser
{{=$FullName}$:ReelMaterialite} à sa place.
Petko
On 14/12/2020 10:36, Pierre-Marie Carette wrote:
Grand merci !
Le 14 déc. 2020 à 10:06, Petko Yotov <5...@5ko.fr> a écrit :
$DefaultUnsetPageTextVars['VarC'] = "{\$:VarA}\n{\$:VarB} »;
ça me crevait les yeux !
Mais
Et malheureusement seulement pour la page en cours, c'est à dire
{AutrePage$:VarC} ne marchera pas.
Le problème :
Dans chaque page je crée les variables modifiables
(:Matiere: Matière :)
(:Presentation: Présentation :)
(:Valeur: Valeur:)
(:Repartition: Répartition:)
(:Utilisation: Utilisation:)
Je peux partout y faire mention par {Groupe.Nom$:Matiere}...
Je construit dans chaque page la variable-synthèse
(:ReelMaterialite: || {$:Matiere} || {$:Presentation} || {$:Valeur}
|| {$:Repartition} || {$:Utilisation} || {$:Materialite} ||:)
Je peux partout y faire mention par {Groupe.Nom$:ReelMaterialite}
Cela m’oblige à répéter cette définition dans chaque page (et
j’ai 27 définition de variables-synthése)
Problème : répétition= lourdeur=illisibilité
But de. la question : Mettre la définition de ReelMaterialité dans
config
Ca ressemble à la deuxième proposition
utiliser la fonction PageTextVar($pagename, 'VarA') dans une
fonction $PostConfig ou après l'inclusion de pgcust.php.
J’en étais là (PageTextVariables) mais ça dépasse mes
compétences !
Merci
Pierre-Marie CARETTE (FidelioEspoir)
___
pmwiki-users-fr mailing list
pmwiki-users-fr@pmichaud.com
http://www.pmichaud.com/mailman/listinfo/pmwiki-users-fr