By: laurent
Date: 2006-01-11
Time: 15:26
|
Programmation Orientée Objet et les BlocsJe viens de rencontrer une impossibilité, je voudrais savoir si je fais une erreur ou cela est réellement impossible.
Je créer un objet (exemple simplifé)
Mon programme php
Mon fichier template
Et lors de l'affichage de la page il y a l'erreur suivante : TinyButStrong Error (MergeBlock [bloc_commentaire]): Invalid query 'commentaires' because global variable 'commentaires' is not an array. Alors je me pose la question de savoir si on peut avec TBS utilisé des tableaux dans les objets ? |
|||
By: Skrol29
Date: 2006-01-11
Time: 16:12
|
Re: Programmation Orientée Objet et les BlocsBonjour,
On peut utiliser des tableaux dans les objets mais pas comme cela. Quand tu écrits :
Bien que la source de données peut être de différents types, TBS ne fusionne que des enregistrements qui sont structurés sous forme de tableaux associatifs (colonne1 => valeur1, colonne2=> valeur2). Si ce n'est pas le cas, il faut coder des fonctions ou des méthodes perso qui retournent les info sous cette forme. C.F. http://www.tinybutstrong.com/manual.php#php_customdatasource Dans ton cas, c'est assez simple, il suffit de coder 3 méthodes supplémentaires : tbsdb_open(), tbsdb_fetch() et tbsdb_close(). Par exemple :
|
|||
By: laurent
Date: 2006-01-11
Time: 19:11
|
Re: Programmation Orientée Objet et les BlocsJe continue de bloquer.
Après la modification de ma class par l'ajout des fonctions, je n'arrive pas à faire fusionner le bloc par l'intermédiaire de $TBS->MergeBlock. Peux-tu m'aider sur l'écrire de la partie php. Merci Vivement TinyButStrong 3 (Surment pour bientôt !) |
|||
By: Skrol29
Date: 2006-01-11
Time: 19:20
|
Re: Programmation Orientée Objet et les BlocsAvec la modif de classe donne ci-avant, la fusion se code :
Tu trouveras les infos de programmation POO pour personnaliser la lecture de données ici : http://www.tinybutstrong.com/manual.php#php_oop Et pour la personnaliser la lecture de données de façon plus générale, ici : http://www.tinybutstrong.com/manual.php#php_customdatasource |
|||
By: Anonymous
Date: 2006-01-11
Time: 19:56
|
Re: Programmation Orientée Objet et les BlocsAvec cette syntaxe, j'obtient le message d'erreur suivant
|
|||
By: Laurent
Date: 2006-01-11
Time: 19:57
|
Re: Programmation Orientée Objet et les BlocsJe suis Anonymous. Je viens de changer d'ordinateur.
|
|||
By: Skrol29
Date: 2006-01-12
Time: 17:17
|
Re: Programmation Orientée Objet et les BlocsOui effectivement, les info que je t'ai filé ne collent pas exactement à ton code, il aurait fallu les adapter.
Voici un exemple qui marche. PHP :
HTML :
|
|||
By: Laurent
Date: 2006-01-12
Time: 18:58
|
Re: Programmation Orientée Objet et les BlocsMerci pour cette exemple. Je confirme que cela fonctionne parfaitement.
Mais je trouve "pas naturel" le faite de mettre ~commentaires.Commentaires au niveau de la source du MergeBlock. Et puis j'ai beau lire et relire le manuel, je ne trouve pas l'explication. |
|||
By: Skrol29
Date: 2006-01-12
Time: 19:41
|
Re: Programmation Orientée Objet et les BlocsOui, tu as raison, ce n'est pas très claire dans la doc. Je vais tâcher d'améliorer ça.
Le principe c'est que si le source de MergeBlock() est un mot clé commençant par '~', alors il va regarder dans ->ObjectRef ; puis on colle '.commentaires' car il faut regarder dans l'item 'commentaires' de cette propriété. Le mot clé qui suit doit être le préfixe des méthodes invoquées. Ca aurait pû être 'zzz'. Illustration :
|