TinyButStrong - the PHP Template Engine
Categories > TinyButStrong general (FR) >

tableau à plusieur dimension

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs

By: Cyrille
Date: 2012-03-26
Time: 08:29

tableau à plusieur dimension

bonjour,

Âpres quelques recherche sur le manuel je ne parviens toujours pas à régler mon problème.
Je souhaite affiche 3 images les une a coté des autres et pour chaque item

donc j'ai un array avec plusieurs array :

Array
(
    [0] => 3

    [cout] => Array
        (
            [0] => Array
                (
                    [id] => 1
                    [val] => Array
                        (
                            [0] => Array
                                (
                                    [values] => 76
                                    [lvl] => 4
                                )

                        )

                    [type] => ressource
                )

            [1] => Array
                (
                    [id] => 2
                    [val] => Array
                        (
                            [0] => Array
                                (
                                    [values] => 76
                                    [lvl] => 4
                                )

                        )

                    [type] => ressource
                )

            [2] => Array
                (
                    [id] => 3
                    [val] => Array
                        (
                            [0] => Array
                                (
                                    [values] => 25
                                    [lvl] => 4
                                )

                        )

                    [type] => ressource
                )

        )

)

Array
(
    [0] => 13

    [cout] => Array
        (
            [0] => Array
                (
                    [id] => 1
                    [val] => Array
                        (
                            [0] => Array
                                (
                                    [values] => 3000
                                    [lvl] => 2
                                )

                        )

                    [type] => ressource
                )

            [1] => Array
                (
                    [id] => 2
                    [val] => Array
                        (
                            [0] => Array
                                (
                                    [values] => 1600
                                    [lvl] => 2
                                )

                        )

                    [type] => ressource
                )

            [2] => Array
                (
                    [id] => 3
                    [val] => Array
                        (
                            [0] => Array
                                (
                                    [values] => 800
                                    [lvl] => 2
                                )

                        )

                    [type] => ressource
                )

        )

)


je définis le tpl :
$this->tpl->mergeBlock('BlkBuilNivSuivant', 'array', '_render[info_ressources][cout]');

Ensuite dans la page index.tpl.html  si je met le code ci-dessous il récupère uniquement [id] => 1 de chaque tableau et les affiches dans chaque item met pas les autres.Il fait abstraction à [id] => 2,[id] => 3

<td style="text-align:center;">
         <img src="ressource/style/[var._render.theme]/images/elements/[BlkBuilNivSuivant.type]/[BlkBuilNivSuivant.id].gif" />
      </td>

j'ai essayer avec ceci les 3 images sont bien les une à coté des autres par contre le résultat s’arrête au 1er item et il n'affiche plus mom 2èmé item.:
<td style="text-align:center;">
<img src="ressource/style/[var._render.theme]/images/elements/[BlkBuilNivSuivant.type]/[BlkBuilNivSuivant.id;block=img].gif" </img>
</td>

Attention je précise que que se td n'est pas la fin de mon tableau il est la 3 ème cellule sur 4 donc si je fais un tr il ne prend pas en compte ma 4 ème cellule.

auriez-vous une petite idée car je seche.....
Par avance merci
Cyrille
By: Cyrille
Date: 2012-03-27
Time: 10:11

Re: tableau à plusieur dimension

bon j'ai tout modifier maintenant j'ai 1 seul tableau :

Array
(
    [0] => Array
        (
            [cout] => Array
                (
                    [0] => Array
                        (
                            [id] => 1
                            [cout_val] => 76
                            [type] => ressource
                        )

                    [1] => Array
                        (
                            [id] => 2
                            [cout_val] => 76
                            [type] => ressource
                        )

                    [2] => Array
                        (
                            [id] => 3
                            [cout_val] => 25
                            [type] => ressource
                        )

                )

        )

    [1] => Array
        (
            [cout] => Array
                (
                    [0] => Array
                        (
                            [id] => 1
                            [cout_val] => 3000
                            [type] => ressource
                        )

                    [1] => Array
                        (
                            [id] => 2
                            [cout_val] => 1600
                            [type] => ressource
                        )

                    [2] => Array
                        (
                            [id] => 3
                            [cout_val] => 800
                            [type] => ressource
                        )

                )

        )

)

pour le tpl :

        $this->tpl->mergeBlock('BlkBuilNivSuivant', 'array', '_render[info_ressources]');
        $this->tpl->mergeBlock('BlkBuilNivSuivantCout', 'array', '_render[info_ressources][%p1%][cout]')


coté tpl.html :
        <td style="padding:5px;">
            <div style="float: left; width: 85px;">
                <img src="ressource/style/[var._render.theme]/images/elements/[BlkBuilNivSuivantCout.type;block=div;p1=[BlkBuilNivSuivant.$]]/[BlkBuilNivSuivantCout.id].gif"
                    style="float: left;" />
                    <h6>[BlkBuilNivSuivantCout.cout_val;frm='0 000.']</h6><br />
            </div>
        </td>


maintenant les images ainsi que leurs valeurs s'affiche par contre il duplique les element du 1er array sur les 2 lignes avec comme message erreur :

TinyButStrong Error in field [BlkBuilNivSuivant.$...] : item '$' is not an existing key in the array. This message can be cancelled using parameter 'noerr'.

TinyButStrong Error in field [BlkBuilNivSuivant.$...] : item '$' is not an existing key in the array. This message can be cancelled using parameter 'noerr'.
By: Cyrille
Date: 2012-03-27
Time: 18:23

Re: tableau à plusieur dimension

le problème est régler merci comme même
By: Skrol29
Date: 2012-03-28
Time: 21:54

Re: tableau à plusieur dimension

Bon tant mieux, désolé de ne pas être intervenu avant. Peux-tu donner la solution ?
By: Cyrille
Date: 2012-04-01
Time: 14:41

Re: tableau à plusieur dimension

Tout simple je souhaitais ajouter des élément dans une liste déjà existante or je lui avais mis
[BlkBuilNivSuivant.$]
qui était de ma propre liste il fallait utilisé les items de la liste déjà défini plus haut, voici le résultat et la définition qui à changer:

<img src="ressource/style/[var._render.theme]/images/elements/[BlkBuilNivSuivantCout.cout_type;block=div;p1=[BlkBuildListe.$]]/[BlkBuilNivSuivantCout.cout_id].gif"
                    style="float: center;" title="[BlkBuilNivSuivantCout.cout_val;frm='0 000.']" />

l'erreur :

[BlkBuildListe.$]
By: Skrol29
Date: 2012-04-01
Time: 21:45

Re: tableau à plusieur dimension

Merci :-)