Übergabe an Smarty Template
Teiger
- php
Guten Tag,
aus einer mySQL DB werden Bilder für eine Bildergalerie an ein Script übertragen:
function returnGallery()
{
$this->db->select("pic.picture, pic.desc_".$this->language."",
"produktkuerzel AS pk, pictures_products AS pic, lnk_product_pic AS lpp",
"(pk.productname = '".$this->productName."')
AND(pk.id = lpp.id_product)
AND(lpp.id_picture = pic.id)",
"","","","");
$bilder = array();
while($row = $this->db->fetch_array())
{
$bilder[]['pic'] = $row['picture'];
$bilder[]['thumb'] = str_replace(".jpg", "-t.jpg", $row['picture']);
$bilder[]['txt'] = $row[desc_.$this->language];
}
if(isset($bilder))
{
return $bilder;
}
else
return false;
}
Das Array $bilder wird an die Smarty Template Engine übergeben:
<div id="col3">
<!-- Gallery: Start-->
{if $bilder}
{section name=i loop=$bilder}
<p><a href="../images/shop/products/{$bilder[i].pic}" target="_blank">
<img src="../images/shop/products/{$bilder[i].thumb}" alt="" /></a><br />
{$bilder[i].txt}
</p>
{/section}
{/if}
<!-- Gallery: End-->
</div>
Leider werden keine Bilder angezeigt. Was ist nur los?
Danke
Hallo Teiger,
$bilder[]['pic'] = $row['picture'];
$bilder[]['thumb'] = str_replace(".jpg", "-t.jpg", $row['picture']);
$bilder[]['txt'] = $row[desc_.$this->language];
Aua... der []-Operator erzeugt ein neues Element in einem Array - bei *jeder* Verwendung.
$bild = array ();
$bild['pic'] = $row['picture'];
$bild['thumb'] = str_replace(".jpg", "-t.jpg", $row['picture']);
$bild['txt'] = $row['desc_'.$this->language];
$bilder[] = $bild;
Viele Grüße,
Christian