Categories > TinyButStrong general (FR) >

mergeblock: generation de code php

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: thomas
Date: 2006-09-26
Time: 14:40

mergeblock: generation de code php

Bonjour,

Vu la puissance de tbs, j'ai tenté de générer autre chose que du code html.

Je bloque sur un point.
J'aimerai si il est possible que tbs me génère un tableau php

tableau php :
$listefield[0][upper] = IDPERSONNE;
$listefield[0][lower] = idpersonne;
$listefield[0][name] = IdPersonne;
$listefield[0][browse] = 0;
$listefield[0][view] = 1;
$listefield[1][upper] = NOM;
$listefield[1][lower] = nom;
$listefield[1][name] = Nom;
$listefield[1][browse] = 1;
$listefield[1][view] = 1;
$listefield[2][upper] = PRENOM;
$listefield[2][lower] = prenom;
$listefield[2][name] = Prenom;
$listefield[2][browse] = 1;
$listefield[2][view] = 1;
...
Template:
$visibleField = array(
    '[browseProperty.upper;block=_;when [browseProperty.browse] = 1]' ,
);
Vous remarquerez tout de suite qu'il y a une virgule de trop et donc une erreur de syntaxe.

Le but étant ici de récupérer la liste des champs dont la valeur de browse est égale à 1

Merci pour votre aide,

Thomas
By: Skrol29
Date: 2006-09-27
Time: 01:21

Re: mergeblock: generation de code php

Mais qu'est ce qui ne marche pas ?
By: thomas
Date: 2006-09-27
Time: 10:04

Re: mergeblock: generation de code php

Comme je l'ai indiquez, ce template génère une erreur de syntaxe.

Ce qui est généré:
$visibleField = array(
    'NOM' ,
    'PRENOM',
);

Résultat que j'aimerai obtenir:
$visibleField = array(
    'NOM' ,
    'PRENOM'
);

pas de virgule après prénom.

Dans l'exemple que je donne il y a une erreur dans le template vu que je n'ai pas trouver la condition à mettre pour la virgule.

Merci pour votre aide,

Thomas
By: Skrol29
Date: 2006-09-27
Time: 22:52

Re: mergeblock: generation de code php

Salut,

"Avoir une virgule après avoir défini la dernière entrée, bien qu'inutile, est une syntaxe valide."
http://fr.php.net/manual/fr/function.array.php

Mais bon, si tu souhaites absolument retirer cette virgule, je vois deux solutions :
Soit tu la places dans un champ au début du bloc, avec un condition sur le numéro d'enreg :
[browseProperty.#;if [val]=1;then ',';else ''] '[browseProperty.upper;block=_;when [browseProperty.browse] = 1]'
);

Ou alors, tu creé une section splittergrp uniquement sur cette virgule. un peut lourd mais fonctionnel.
By: thomas
Date: 2006-09-28
Time: 07:39

Re: mergeblock: generation de code php

J'étais persuadé du contraire ... ce qui fait que je n'ai même pas essayé les scripts générés !

Merci pour ton aide,

Thomas.
By: TiTi
Date: 2006-09-29
Time: 14:55

Re: mergeblock: generation de code php

[var.tableau;ope=list] dans la prochaine version ?