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

Répondre à