Galerieskript realisieren -> Fragen...

shorty

Erfahrenes Mitglied
Hi,
ich möchte gerne für meine Seite ein Galerieskript programmieren, bei dem man die Möglichkeit hat einzustellen, nach wievielen Spalten eine neue Zeile angefangen werden soll. Ich habe bereits ein Galeriskript angefertigt
(http://www.tutorials.de/forum/showthread.php?threadid=141178), jedoch möchte ich dies diesmal mit Templates machen und da greift mein altes Galerieskript nicht mehr. Gibt es noch eine andere Möglichkeit die oben genannte Funktion zu programmieren?

Danke schonmal im Voraus

Mfg Shorty
 
Du könntest das Template so umschreiben:
PHP:
<table border="0" cellpadding="0" cellspacing="0">
    <tr>
        <td>{PlazhalterFürDieBilder}</td>
    </tr>
</table>

Und dann eben noch ein zusätzliches Template machen, in dem das Design von
einem einzelnen Bild enthalten ist, z.B. so:
PHP:
<a href="{BildURL}" onClick="openPopUp( {BildID} );"><img
   src="{BildURL}" border="0"></a>

Jetzt nimmst du das Bild-Template her und packst es z.B. so in die Schleife:
PHP:
$iPos    = 0;
$sImages = "";
while( $aGaleryImage = mysql_fetch_array( $iResult ) ) {
    $oImageTemplate->AddVar( /* Daten vom Bild */ );
    $sImages .= $oImageTemplate->Output( false ); // Das Template wird nicht
                                                  // ausgegeben, sondern als
                                                  // String zurückgegeben
    if ( $iPos % $iImagesInOneRow == 0 ) {
        $sImages .= "</tr><tr>";
    }

    $iPos++;
}

for ( $i=0; $i<$iImagesInOneRow - ( $iPos % $iImagesInOneRow ); $i++ ) {
    $sImages .= "<td>&nbsp;</td>"; // Den Rest mit leeren Zellen auffüllen
}

Und jetzt brauchst du nur noch $sImages in den Platzhalter für die Bilder
im ersten Template schreiben.

hth
 
Ich bin gar nicht von Smarty ausgegangen :)

Nur hab ich leider keine Ahnung, wie die vBulletin Templates unktionieren.

Wenn es so ein echo-eval Konstrukt ist, dann geht es ja genauso.
Wichtig ist nur, dass du die Schablone für die einzelnen Bilder und für den Rest
der Seite in extra Templates packst.
 
Ja genau, ich nutze die eval-echo-Funktion. Jedoch komme ich mit deinem Code nicht klar :(. Ich wüsste nicht, wie ich z.B. die echo-eval-Funktion durch die jetztige Templatefunktion ersetzen sollte.

Was bedeutet das "%" in deinem Code-Schnipsel? Und was für einen Wert nimmt "$iImagesInOneRow" an?
PHP:
if ( $iPos % $iImagesInOneRow == 0 ) {
...
 
Zuletzt bearbeitet:
% = Modulo = Rest der bei der Teilung übrig bleibt
Bsp.: 3:2=1; 5:2=1
$iImagesInOneRow sagt doch der Variablenname
= Bilder in einer Reihe

müsste richtig sein - damit du net so lange auf antowrt warten musst ;)
 
@Hatachy: Was $ImagesInOneRow heisst, weiss ich auch ;), aber ich wollte wissen, welchen der Wert er in diesem Beispiel annimmt.
 
das wollt ich damit doch sagen :) kannste dir doch aussuchen. is doch egal ob du 3 oder 4 Bilder oder sogar noch mehr in eine Reihe packst ;)
 
Zurück