Categories > [old] TbsOoo & TinyDoc >

Can't merge - malgré le forçage des valeurs

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: bruno
Date: 2006-12-15
Time: 10:58

Can't merge - malgré le forçage des valeurs

Bonjour,

Dans mon script d'alimentation des variables pour le publipostage, j'ai mis :

$dest_nom                = (isset($dest_nom)                    ? $dest_nom                   : '');
$dest_adr1                = (isset($dest_adr1)                ? $dest_adr1                   : '');
$dest_adr2                = (isset($dest_adr2)                ? $dest_adr2                  : '');
$dest_adr3                = (isset($dest_adr3)                ? $dest_adr3                : '');
$dest_cp                = (isset($dest_cp)                    ? $dest_cp                    : '');

Ceci afin de ne pas avoir d'erreur du genre :

TinyButStrong Error (Merge PHP global variables): Can't merge [var.dest_nom] because there is no PHP global variable named 'dest_nom'. This message can be cancelled using parameter 'noerr'.

Et cela fonctionnait très bien. Sauf qu'en fait je ne savais pas que cela ne fonctionnait pas, parceque j'avais toujours des informations.

Maintenant j'essaie de passer sans avoir d'information disponible, mais j'ai cette erreur qui vient sans cesse malgré le forçage de valeur.

A quoi cela est-il dû ?
By: Olivier Loynet
Date: 2006-12-16
Time: 13:40

Re: Can't merge - malgré le forçage des valeurs

c'est un probleme de PHP, les variables proviennent t'elles d'un GET ou d'un POST ?

par exemple por un GET

$dest_nom    = (isset($_GET['dest_nom'])    ? $_GET['dest_nom']     : '');
$dest_adr1    = (isset($_GET['dest_adr1'])    ? $_GET['dest_adr1']     : '');
$dest_adr2    = (isset($_GET['dest_adr2'])    ? $_GET['dest_adr2']     : '');
$dest_adr3    = (isset($_GET['dest_adr3'])    ? $_GET['dest_adr3']     : '');
$dest_cp       = (isset($_GET['dest_cp'])        ? $_GET['dest_cp']        : '');


Olivier
By: Olivier Loynet
Date: 2006-12-16
Time: 14:33

Re: Can't merge - malgré le forçage des valeurs

Désolé, je n'ai pas bien lu ton mail.

TBS a besoin que les variables soient affectés.
Tu pourrais faire un test du genre

$dest_nom     = (isset($dest_nom)     ? $dest_nom          : 'NULL');
$dest_adr1    = (isset($dest_adr1)    ? $dest_adr1         : 'NULL');
$dest_adr2    = (isset($dest_adr2)    ? $dest_adr2         : 'NULL');
$dest_adr3    = (isset($dest_adr3)    ? $dest_adr3         : 'NULL');
$dest_cp      = (isset($dest_cp)      ? $dest_cp           : 'NULL');

et dans ton template, si tu detectes un NULL tu peux faire le traitement suivant :

[var.dest_nom;if [val]='NULL';then 'valeur vide';else '[val]']

C'est un exemple.

Pour ma part je ne travaille presque qu'exclusivement dans des arrays, et il y a très peu de variables globales car cela améliore enormément les performances même pour une seule ligne de résultat

Olivier

By: bruno
Date: 2006-12-16
Time: 16:16

Re: Can't merge - malgré le forçage des valeurs

Bon, j'ai essayé avec ceci :
[var.dest_nom ;if [val]='NULL';then ' ';else '[val]']

Mais cela ne fonctionne pas.

C'est la 2ème fois que tu mes parles de array, je vais peut-être finir par essayer.
By: bruno
Date: 2006-12-16
Time: 16:24

Re: Can't merge - malgré le forçage des valeurs

Mise en tableau de mon alimentation des champs de publipostage.

Avant j'avias ceci :

$cp = getCodePostal($requete["tiers_ville_id"]);
     $nom_ville = getVille($requete["tiers_ville_id"]);
     $dest_nom = $requete["tiers_nom"];
     $dest_cp= utf8_decode($cp);
     $dest_ville = utf8_decode($nom_ville);

Maintenant, j'ai :

$cp = getCodePostal($requete["tiers_ville_id"]);
     $nom_ville = getVille($requete["tiers_ville_id"]);
     $tab["dest_nom"] = $requete["tiers_nom"];
     $tab["dest_cp"]= utf8_decode($cp);
     $tab["dest_ville"] = utf8_decode($nom_ville);

Ai-je toujours besoin de faire le forçage de la valeur des champs dans ce cas ?
By: bruno
Date: 2006-12-16
Time: 16:52

Re: Can't merge - malgré le forçage des valeurs

Pour l'intégration dans mon document .odt, là cela se corse.

J'essaye de comprendre la documentation http://www.tinybutstrong.com/apps/tbsooo/doc_fr.html mais c'est dommage de ne pas pouvoir voir le code source php pour comprendre comment le tableau est alimenté.

J'ai regardé aussi ce lien : http://www.tinybutstrong.com/manual.php#html_block_serial

Alors j'ai fait ceci dans mon .odt

[tab.dest_nom;block=table:table-row]

Mais cela ne mène nul part.

Il y a quelque chose à faire côté PHP, ma syntaxe n'est pas bonne ?