Ergebnis 1 bis 5 von 5

Thema: Galerie-Template letzes Bild abfragen

  1. #1
    Contao-Nutzer Avatar von tom.loeschnigg
    Registriert seit
    29.07.2010.
    Beiträge
    103

    Standard Galerie-Template letzes Bild abfragen

    Hi liebe Community!

    Ich versuche gerade die jQuery Supersize Gallery einzubinden. Ich möchte den Code von Supersize in ein Galerietemplate integrieren.

    Mein Code sieht so aus:
    PHP-Code:
    <script type="text/javascript">        
        jQuery(document).ready(function(){
            jQuery.supersized({
                slide_interval          :   3000,    
                transition              :   1, 
                transition_speed        :    700,                                               
                slides                     :      [

    <?php foreach ($this->body as $class=>$row): ?>
    <?php 
    foreach ($row as $col): ?>
                    {image : '<?php echo $col->src?>'},
    <?php endforeach; ?>
    <?php 
    endforeach; ?>
                ]                
        });
    });        
    </script>
    Das Problem ist, dass das letzte Bild aber kein Komma haben soll. Hat jemand eine Idee wie ich per PHP Abfragen kann, ob es sich um das letzte Bild handelt?

    Wäre für einen Tipp sehr Dankbar!

    lg
    Tom
    Webworker finden auf meinem Blog hilfreiches zu Angebote, Akquiese, Contao uvm. selected-items.com

  2. #2
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard Galerie-Template letzes Bild abfragen

    Schneid das komma einfach ab am Ende.


    Sent from my iphone using Tapatalk
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  3. #3
    Contao-Nutzer Avatar von tom.loeschnigg
    Registriert seit
    29.07.2010.
    Beiträge
    103

    Standard

    Zitat Zitat von Tim G Beitrag anzeigen
    Schneid das komma einfach ab am Ende.


    Sent from my iphone using Tapatalk
    Kann ich leider nicht machen.
    Angenommen ich habe 5 Bilder in der Galerie. Dann muss bei den ersten 4 Bildern ein Komma stehen. Beim 5ten (letzen) Bild dann nicht mehr. Ansonsten funktioniert die Supersize Gallery nicht im IE8.
    Webworker finden auf meinem Blog hilfreiches zu Angebote, Akquiese, Contao uvm. selected-items.com

  4. #4
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von tom.loeschnigg Beitrag anzeigen
    Kann ich leider nicht machen.
    Angenommen ich habe 5 Bilder in der Galerie. Dann muss bei den ersten 4 Bildern ein Komma stehen. Beim 5ten (letzen) Bild dann nicht mehr. Ansonsten funktioniert die Supersize Gallery nicht im IE8.
    Ach Quark bedanken... verklickt.

    Das schreibt man einfach anders und zwar nicht alles im javascript Block sonders erstellt sich den String vorher und schreibt nur diesen in das Javascript.

    Hier ein Auszug aus einem Supersize Template von mir für die page_images Erweiterung:

    PHP-Code:
    $strImages '';                                            
    foreach(
    deserialize($this->imageData['multiSRC']) as $src)
    {
        
    $filename substr(strrchr($src"/"), 1);
        
    $arr = array
        (
            
    "image:"."'".$src."'",
            
    'title:'."'".$filename."'",
            
    'thumb:'."'".$src."'",
            
    #'url:'."'".."'",
        
    );
        
    $str '{'.implode(","$arr).'}';
        
    $strImages .= $str.',';
        
    }
    // remove last ','
    $strImages substr($strImages0,-1); 
    Im supersized jquery dann einfach nur noch:

    Code:
    slides 					:  	
    		[ // Slideshow Images
    		<?php echo $strImages; ?>
    		],
    Ich bau mir verkettete String gern über einen Array und klebe dann nur mit implode den Trenner ein. (dann brauch man das letzte Komma nicht raus nehmen, weil implode es nicht setzt)
    Man kann aber auch einfach den String aufbauen lassen.



    Wenn du trotzdem mal auf darauf angewiesen bist es innerhalb vom Block zu schreiben, wäre eine Zählvariable die beste Lösung, wenn du keine numerischen keys hast

    PHP-Code:
    $count 0;
    foreach(
    $arr as $k => $v)
    {
    if(
    $count >= count($arr)-1) {// letzer}
    $count++;

    Geändert von Tim G (10.12.2012 um 15:38 Uhr)
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  5. #5
    Contao-Nutzer Avatar von tom.loeschnigg
    Registriert seit
    29.07.2010.
    Beiträge
    103

    Standard

    Danke dir Tim G. Leider bin ich in PHP nicht so fit.
    Ich komme mit foreach(deserialize($this->imageData['multiSRC']) as $src) nicht zurecht.

    Ich bringe es nicht zum laufen, dass ich deinen Code in einem Galerie Template verwende.

    Wäre dir für weitere Hilfe dankbar. Was ich noch nicht weiß ist, ob ich dann alles noch in die <?php foreach ($this->body as $class=>$row): ?> packen muss.

    lg
    Tom
    Webworker finden auf meinem Blog hilfreiches zu Angebote, Akquiese, Contao uvm. selected-items.com

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •