Re: [pmwiki-users-fr] page text variable

2020-12-14 Par sujet Petko Yotov
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


Re: [pmwiki-users-fr] page text variable

2020-12-14 Par sujet Petko Yotov

On 13/12/2020 19:57, Pierre-Marie Carette wrote:

Chaque page a deux variables
VarA:valeura
VarB:valeurb

Comment créer dans config.php une variable VarC concaténant VarA  et
VarB ? tel que

{$:VarC} donnera
"valeura
valeurb »


C'est pour utiliser {$:VarC} dans la page, ou pour utiliser la valeur 
dans config.php?


Le premier cas est facile, pour PmWiki 2.2.122 ou ultérieur, on peut 
ajouter dans config.php:


  $DefaultUnsetPageTextVars['VarC'] = "{\$:VarA}\n{\$:VarB}";

C'est documenté en anglais ici:

  https://www.pmwiki.org/wiki/PmWiki/PageTextVariables#default

Ceci marchera quand il n'y a pas de "VarC:" définie dans la page. Et 
malheureusement seulement pour la page en cours, c'est à dire 
{AutrePage$:VarC} ne marchera pas.



Le second, pour utiliser la valeur dans du code PHP, c'est plus 
compliqué. Je conseille d'étudier la section "Order of the commands in 
config.php":


  https://www.pmwiki.org/wiki/PmWiki/LocalCustomizations#configphp-order

...et utiliser la fonction PageTextVar($pagename, 'VarA') dans une 
fonction $PostConfig ou après l'inclusion de pgcust.php.


Petko

___
pmwiki-users-fr mailing list
pmwiki-users-fr@pmichaud.com
http://www.pmichaud.com/mailman/listinfo/pmwiki-users-fr


[pmwiki-users-fr] page text variable

2020-12-13 Par sujet Pierre-Marie Carette
Merci de ne pas rire d'une question de béotien (sauf si vous n’avez pas ri 
depuis ce matin !) : 

Chaque page a deux variables
VarA:valeura
VarB:valeurb

Comment créer dans config.php une variable VarC concaténant VarA  et  VarB ? 
tel que 

{$:VarC} donnera 
"valeura
valeurb »

Grand merci

Pierre-Marie FidelioEspoir
http://www.toposcopie.fr/Methode/Methode

___
pmwiki-users-fr mailing list
pmwiki-users-fr@pmichaud.com
http://www.pmichaud.com/mailman/listinfo/pmwiki-users-fr