Categories > TinyButStrong general (FR) >

[amelioration] parametre des fonctions dans le template

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: guillaume
Date: 2006-06-14
Time: 11:39

[amelioration] parametre des fonctions dans le template

Bonjour,

Je me suis confronté a des problème de fusion pour ce type de bloque :
[var.MonObj.MaFunc('L''avion vol.','autre param')]
2 problèmes :
- les côtes ne sont pas supprimer lors de la transmission à la fonction.
- le point est traité en séparateur.

Voici le code utilisé pour corriger le problème (V 3.1):
function meth_Locator_FindTbs / ligne ~= 825
$Loc->FullName = $Name.'.'.$Loc->SubName;
//DEBUT
if (false !== ($i =strpos($Loc->SubName,'(') ) ) {
  $param = substr($Loc->SubName,$i);
  $Loc->SubName = substr($Loc->SubName,0,$i);
  $Loc->SubLst = explode('.',$Loc->SubName);
  $Loc->SubLst[count($Loc->SubLst)-1] .= $param;   
}
else
//FIN
  $Loc->SubLst = explode('.',$Loc->SubName);

function tbs_Misc_CheckArgLst / ligne ~= 2602
}
//DEBUT
foreach ($ArgLst as $id=>$arg) {
  if ($arg && ($arg[0]=='\'')) { //quote !!
    $arg = substr($arg,1,strlen($arg)-2);
    $ArgLst[$id] = str_replace('\'\'','\'',$arg);
  }
}   
//FIN
return $ArgLst;
By: Skrol29
Date: 2006-06-15
Time: 15:01

Re: [amelioration] parametre des fonctions dans le template

Ok, je n'ai pas tout compris comment ça marche mais je vais étudier ça.
By: guillaume
Date: 2006-06-16
Time: 09:40

Re: [amelioration] parametre des fonctions dans le template

J'ai été avare de commentaire :(
Le premier code permet d'éviter de considérer le point situé dans les parenthèses comme un séparateur.
Au lieu d'avoir pour la chaine [var.MonObj.MaFunc('test.toto')] le découpage en :
array( 'var' , 'MonObj' , 'MaFunc(\'test' , 'tot\')' )
on a :
array( 'var' , 'MonObj' , 'MaFunc(\'test.tot\')' )

Le deuxième permet de retirer les cotes en trop pour les paramètres :
'L''avion' devient L'avion