Categories > TinyButStrong general (FR) >

Petit souci 'noerr'

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: Guitou
Date: 2006-04-18
Time: 10:37

Petit souci 'noerr'

Bonjour, ce nouveau thread pour signaler un petit problème au niveau du paramètre noerr suivant la présence ou non de champs.

Un bout du template
[hor.h.tranches.0;if [val]='00:00-00:00';then 'Repos';else [val];ifempty='Repos';noerr]

L'erreur affichée
TinyButStrong Error (Array value): Can't merge [hor.h.tranches.0] because sub-item 'tranches' is not an existing key in the array. This message can be cancelled using parameter 'noerr'.

TinyButStrong Error (Object or Array value expected): Can't merge [hor.h.tranches.0] because the item before '0' is neither an object nor an array. Its type is string. This message can be cancelled using parameter 'noerr'.

Le souci m'est imputé étant donné que dans certaines parties du tableau si il me manque des données je n'ai pas de sous tableau avec 'tranches' et '0', je vais m'employer à corriger ça cependant bien qu'ayant un 'noerr' dans mon template j'obtient quand même le message d'erreur.
J'ai essayé de le placer juste apres le 'hor.h.tranches.0' mais cela donne un résultat identique.

Une idée ? ;)
By: Skrol29
Date: 2006-04-20
Time: 23:14

Re: Petit souci 'noerr'

Bonjour Guitou,

Je n'arrive pas à reproduir ton problème.
Pourrais-tu m'envoyer un extrait réduit qui reproduise le bug ?

J'ai copié ton bout de template à l'identique et je l'ai fusionné avec des tonnées tableaux ayant divers éléments problématiques et je n'ai aucun message d'erreur.
By: Guitou
Date: 2006-04-21
Time: 09:38

Re: Petit souci 'noerr'

Salut à toi Skrol, après des petites recherches j'ai réussi à reproduire l'erreur, voici le code employé :

Tableau générant l'erreur :
$liste_users = array( 0 => array (
     'nom' => '****', 'user' => 118, 'prenom' => 'Florent',
     'h' => array (
     'tranches' => array (  0 => '08:00-12:00', 1 => '13:30-18:30' ),
      'duree' => array ( 'a_aff' => '+9 h', 'en_min' => 540, 'd_t1' => 240, 'd_t2' => 300 ),
       'init1' => 'y', 'init2' => 'y' ))
     ,12 => array ( 'nom' => '*****', 'user' => 828, 'prenom' => 'Elodie', 'h' => array ( 'init1' => 'r', 'init2' => 'r', 'duree' => array ( 'en_min' => 0, 'a_aff' => '0 h' ) ) ) );
L'indice 0 du tableau est correct alors que l'indice 12 (3ème ligne avant la fin) est celui qui pose problème.

Le template est de la forme
[hor;block=begin]

[hor.h.tranches.0;if [val]='00:00-00:00';then 'Repos';else [val];ifempty='Repos';noerr]

[hor.h.tranches.1;if [val]='00:00-00:00';then 'Repos';else [val];ifempty='Repos';noerr]

[hor;block=end]

L'erreur reste la même pour 'hor.h.tranches.0' et 'hor.h.tranches.1'
Elle est produite par le fait que pour la ligne erronnée le sous tableau 'h' ne contient pas les champs 'tranches' '0' et 'tranches' '1'

Voilà j'espére que c'est plus clair maintenant et que celà te permettra de voir où se produit le souci d'affichage d'erreur malgré le 'noerr' dans TBS.

@+
By: Guitou
Date: 2006-04-21
Time: 09:39

Re: Petit souci 'noerr'

Je oublié le merge
$TBS->MergeBlock('hor',$liste_users);
By: Skrol29
Date: 2006-04-21
Time: 15:31

Re: Petit souci 'noerr'

Salut,

Ton exemple s'exécute correctement pour moi. Je n'ai pas de message d'erreur. Quelle est ta version de TBS ?
By: Guitou
Date: 2006-04-21
Time: 16:17

Re: Petit souci 'noerr'

Etrange etrange...

Ma version TBS

Version  : 2.05.7 for PHP >= 5.0
Date     : 2006-01-23
By: Guitou
Date: 2006-04-21
Time: 16:19

Re: Petit souci 'noerr'

Et pour php (on ne sait jamais ...)

PHP 5.0.5
By: Skrol29
Date: 2006-04-21
Time: 20:08

Re: Petit souci 'noerr'

2.05.7 for PHP >= 5.0
PHP 5.0.5
=> aucun souci avec ton code

!!??
By: Guitou
Date: 2006-04-21
Time: 23:40

Re: Petit souci 'noerr'

Ben là je ne sais que dire c'est toi l'expert en TBS, et rassure toi je n'invente pas des bugs pour le plaisir ;)

Avec le code php que je t'ai copié et le template j'arrive à reproduire l'erreur et toi non, le souci bien peut être d'un élément extérieur...

Tu veux un screen pour confirmer mes dires :D ?
By: Skrol29
Date: 2006-04-22
Time: 00:00

Re: Petit souci 'noerr'

Peux-tu simplement m'envoyer ton exemple qui bug par email, avec le fichier PHP, le fichier HTML et le fichier TBS ?
Si je n'arrive toujours pas à avoir l'erreur, je t'enverrai mon code.
By: Guitou
Date: 2006-04-25
Time: 09:04

Re: Petit souci 'noerr'

Bon mea culpa il manquait évidemment des noerr sur des bouts de templates auxquels je n'avais pas prêté attention d'où l'affichage d'erreurs...

Merci de t'être donné tant de mal skrol ;)