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\')"> ',$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.
|
|
Posting in progress.
Please wait...
|