Categories > TinyButStrong general (FR) >

Petit soucis avec une table

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: Pierre
Date: 2004-11-24
Time: 15:26

Petit soucis avec une table

Salut,
Voila j'essaye de faire afficher mes photos dans un table de 3 colonnes.
Je dois mal m'y prendre car a dire vrai c'est la premiere fois que je fais ca via un template. mais le resultat est etrange ...
voila le code concerné
php:
$pic=listPic('images/'.$_GET['rep'].'/');
$row_list='';
$i=1;
$row_curr=$row_tpl;
foreach ($pic as $photo) {
    $row_curr = str_replace('x'.$i,'<input type="image" alt="'.$photo['name'].'" src="thumb.php?im='.$photo['pathname'].'" onClick="open(\'affiche.php?im='.$photo['pathname'].'\', \'new\', \'toolbar=no,location=no, directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes\')">&nbsp;',$row_curr) ;
    if($i!=3) {
        $i++;
    } else {
        $i=1;
    }
    $row_list .=$row_curr;
}
$tbs->MergeBlock('blk1','text',$row_list) ;

le html correspondant :
<table border="1" align="center" cellpadding="0" cellspacing="0">
        <tr>
          <td colspan="7" bgcolor="#CACACA" align="center">rubrique choisie</td>
        </tr>
        <tr bgcolor="#F0F0F0">
          <td width="30"> <div align="center">x1[blk1;block=tr]</div></td>
          <td width="30"> <div align="center">x2</div></td>
          <td width="30"> <div align="center">x3</div></td>
        </tr>
      </table>

Ca doit etre tout bete mais je sais pas trop d'ou peut venir mon soucis.
J'espere que quelqu'un de plus experimenté verra vite le probleme.

Merci d'avance

Pierre
By: Pierre
Date: 2004-11-24
Time: 15:45

Re: Petit soucis avec une table

Petite precision : avant le code php j'ai
//On récupère le source HTML qui compose le block
$row_tpl = $tbs->GetBlockSource('blk1') ;

et la fonction listPic me renvoit un array des photo du repertoire concerné.

Au passage y'a un moyen d'utiliser directement $_GET ou $_POST dans le template ?

Merci encore
By: Skrol29
Date: 2004-11-24
Time: 17:17

Re: Petit soucis avec une table

Salut,

<parenthèse> Vous avez vus les nouveaux forum :) </parenthèse>

Je vous une petite erreur dans ton code :
ce n'est pas :
  $row_curr = str_replace('x'.$i, '[...]' , $row_curr);
mais plutôt :
  $row_curr = str_replace('x'.$i, '[...]' , $row_tpl);

Mais ceci dit, je te conseille vivement d'utiliser le mode Serial pour l'affichage multi-colonne. Ca fera exactement ce que tu cherches sans ligne de code spécifique. Voir le manual au paramètre 'serial' pour plus d'info.


By: Pierre
Date: 2004-11-24
Time: 17:58

Re: Petit soucis avec une table

OK
alors tu me le conseilles je passe par le serial et effectivement y'a moins de code :)
Par contre j'ai deux petites questions betes
ma variable $pic est un array comment j'affiche ces clés ?
et pour afficher un $_GET ou $_POST je dois faire comment ?
je n'arrive pas a trouver
Merci encore :)
By: Pierre
Date: 2004-11-24
Time: 18:00

Re: Petit soucis avec une table

voila ce que donne ma nouvelle version :
<tr bgcolor="#F0F0F0">
        <td width="120" align="center">[bx;block=tr;serial][bx_1;block=td;block=begin]<img src="[bx_1.pic['pathname']]" />[bx_1;block=end][bx_2;block=td;block=begin]<img src="[bx_2.pic['pathname'],block=td]" />[bx_2;block=end]</td>
    </tr>

et pour le php

$pic=listPic('images/'.$_GET['rep'].'/');
$tbs->MergeBlock('bx','array',$pic);

sachant donc que $pic contient un array de pathname, name ,weight, size etc....

voila j'espere avoir été plus clair
By: Skrol29
Date: 2004-11-24
Time: 18:01

Re: Petit soucis avec une table

D'après ton code d'origine, $pic semble être un tableau de tableau.
C'est parfait pour la méthode merge. Tu n'as pas besoin d'y toucher.
Jette un oeil sur les exemples de fusion avec un tableau. C'est la même chose pour ton $pic.

Pour afficher un $_GET : [var._GET.mavariable]
By: Skrol29
Date: 2004-11-24
Time: 18:03

Re: Petit soucis avec une table

Dans ton HTML, ce n'est pas :
   [bx_1.pic['pathname']]
qu'il faut mettre, mais :
   [bx_1.pathname]

(c'est dans la doc et dans les exemples)
By: Pierre
Date: 2004-11-24
Time: 18:04

Re: Petit soucis avec une table

ok super merci :)
By: Pierre
Date: 2004-11-24
Time: 18:14

Re: Petit soucis avec une table

Ca marche impeccable
merci encore.