phpbar.de logo

Mailinglisten-Archive

[php] Smarty-Templates

[php] Smarty-Templates

phpbox at moreconcept.de phpbox at moreconcept.de
Don Apr 22 02:13:33 CEST 2004


Hi,

ich hatte gestern das gleiche Problem. Habs dann wie folgt gelöst:

TPL-Code:
   {dbmf->FETCH_imgs catID=$catID seite=$seite rows=3 assign="imgs"}
   <table>
      <tr><td colspan="3">{include file="bildergalerie_navigation.tpl"}</td></tr>
      {section name=thumbnails loop=$imgs}
      <tr>
         <td><img src="gfx/imgs/thumbs/tn{$imgs[thumbnails].name0}" alt="{$imgs[thumbnails].alt0}"></td>
         <td><img src="gfx/imgs/thumbs/tn{$imgs[thumbnails].name1}" alt="{$imgs[thumbnails].alt1}"></td>
         <td><img src="gfx/imgs/thumbs/tn{$imgs[thumbnails].name2}" alt="{$imgs[thumbnails].alt2}"></td>
      </tr>
      {/section}
      <tr><td colspan="3">{include file="bildergalerie_navigation.tpl"}</td></tr>
   </table>

PHP-Code (Erstellen des Arrays);
      function FETCH_imgs($parameter)
      //Parameter   : catID (ID des Kataloges), seite (Seite), rows (Ausgabespalten)
      {
         $sql_querry="SELECT * FROM ".CNT_MOTIVE." WHERE imgCat=".$parameter[catID]." ORDER BY imgAdded DESC LIMIT ".($parameter[seite]-1)*MAXIMALE_BILDER_PRO_GALERIESEITE.", ".MAXIMALE_BILDER_PRO_GALERIESEITE."";
         $index=0;
         for($i=0; $i<count($res = $this->db_select($sql_querry))/$parameter[rows]; $i++)
         {
            for($j=0; $j<=$parameter[rows]-1; $j++)
            {
               $imgs[$i][name.$j]=$res[$index][imgName];
               $imgs[$i][alt.$j]=$res[$index][imgALT];
               $index++;
            }
         }
         return $imgs;
      }

In Deinem Fall müsstest du natürlich den Parameter 'rows' auf 5 setzen
und im Template zwei td's ergänzen.

Gruß,
Günther Giani

   


am Mittwoch, 21. April 2004 um 23:54 schrieben Sie:

CKIDS> Hi Patrik,

CKIDS> Ausserhalb der Schleife definierst
CKIDS> du dir eine Smarty-Var zb

CKIDS> {assign var="count" value="0"}

CKIDS> innerhalb der Schleife:

CKIDS> {if $count == 5}
CKIDS>   *ausgabe Zeilenumbruch oder was auch immer*
CKIDS>   {assign var="count" value="0"}
CKIDS> {/else}
CKIDS>   {assign var="count" value="`$count+1`"}
CKIDS> {/if}

CKIDS> Ich weiß das dies nicht die eleganteste Methode ist,
CKIDS> aber ich denke es sollte gehen (Geprüft hab ichs nicht)


CKIDS> Grüße
CKIDS> Christoph

>> -----Original Message-----
>> From: php-bounces at phpbar.de [mailto:php-bounces at phpbar.de]On Behalf Of
>> Patrik Augustin
>> Sent: Wednesday, April 21, 2004 5:32 PM
>> To: PHP
>> Subject: [php] Smarty-Templates
>>
>>
>> Hi
>> Weiß nicht so ganz ob das hier hergehört.
>> Aber irgendwie schon etwas denke ich.
>> Also mein Problem:
>>
>> Ich will ne Bildergalerie machen und die Ausgabe soll über nen Smarty
>> laufen.
>> Dabei sollen nur 5 Bilder in einer Reihe sein
>> (Tabellenzeile), danach soll
>> ne neue Zeile erstellt werden und wieder 5 Bilder rein.
>> Und halt immer so weiter.
>> Und da haben wir auch schon das Problem.
>> Ich weiß im Moment absolut nicht wie ich dem Template sagen
>> soll das es nach
>> 5 Bildern immer ne neue Tabellenzeile erstellen soll.
>> Hat da irgendwie jemand ne Idee wie das gehen könnte?
>>
>> Danke Patrik
>> --
>> ** Allgemeine deutschsprachige PHP-Liste: php at phpbar.de **
>> Informationen: http://www.phpbar.de
>> http://lists.phpbar.de/mailman/listinfo/php
>>





php::bar PHP Wiki   -   Listenarchive