Categories > TinyButStrong general (FR) >

affichage de Block avec des Object dans un array, impossible...

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: krieger91
Date: 2006-02-22
Time: 17:36

affichage de Block avec des Object dans un array, impossible...

Bonjour,

Je cherche à faire un Block d'un tableau d'objet mais j'y parvient pas...

voici le code PHP :
<?php

require_once("tbs_2_05/tbs_class.php");

class maClasse{
   
    var $id_dossier;
    var $id_element;
    var $desc_element;
   
    function maClasse($id_dossier){
        $this->id_dossier = $id_dossier;
        $this->id_element = $this->id_dossier * 2;
        $this->desc_element = $this->id_dossier * 3;
    }
}       

$elements = array();
$elements[0] = new maClasse(10);
$elements[1] = new maClasse(11);

echo "<pre>";
print_r($elements);
echo "</pre>";

$template = new clsTinyButStrong;
$template->LoadTemplate('index_body.html') ;

$template->MergeBlock('test',$elements);

$template->Show();
?>


Voici le Code HTML :
<div>
[test.id_element;block=div;]
</div>

Comment faire pour que le block test affiche mes objets comme une requete...

Voici l'erreur que j'obtiens :
TinyButStrong Error (Array value): Can't merge [test.id_element] because sub-item 'id_element' is not an existing key in the array. This message can be cancelled using parameter 'noerr'.
By: Skrol29
Date: 2006-02-22
Time: 18:21

Re: affichage de Block avec des Object dans un array, impossible...

Salut,

Effectivement, on dirait qu'il y a un bug à ce niveau. En attendant que je le corrige, tu peux le contuorner en codant ton modèle :
<div>
[test.val.id_element;block=div;]
</div>

J'ai testé, ça marche.
By: krieger91
Date: 2006-02-24
Time: 16:48

Re: affichage de Block avec des Object dans un array, impossible...

Milles merci pour cette réponse...

Pas de soucis en attendant, je vais coder mon projet avec la méthode que tu donnes ;)
By: Skrol29
Date: 2006-02-24
Time: 17:21

Re: affichage de Block avec des Object dans un array, impossible...

Il vient d'y avoir un message sur le forum Anglais pour le même problème que le tient.
Je viens de m'aperçevoir que ce n'est pas un bug mais plutôt un problème de cohérence que je vais tâcher de corriger dans la version 3.0.
En effet, la syntaxe [block.champ] est valable pour un enregsitrement de type Array(), pour tout autre type, il faut utiliser le champ virtuel "var".
C'est pas top, on pourrait attendre que la syntaxe soit la même pour un enregistrement de type objet.

Si je corrige ça dans TBS 2, on risque aussi d'avoir un problème de compatibilité.