Ergebnis 1 bis 11 von 11

Thema: Bildergalerie-Ausgabe ändern

  1. #1
    Contao-Nutzer
    Registriert seit
    23.12.2009.
    Beiträge
    12

    Standard Bildergalerie-Ausgabe ändern

    Moin,

    Ich würde gern nur ein Bild der Bildergalerie ausgeben, die durch den Katalog erzeugt wird. Alle anderen Bilder sollen trotzdem gelesen werden, so dass sie in der lightbox-galerie enthalten sind. Durch anklicken des einen Bildes soll wie gehabt die lightbox geöffnet werden.

    Ich habe mein Template dahingehend angepasst, dass ich jeden Eintrag separat anspreche. Daher habe ich im catalog_full.tpl, welches bei mir catalog_objektansicht.tpl heißt die Klasse Bildergalerie
    PHP-Code:
    <div class="bildergalerie">
            <?php echo $entry['data']['objekt_bildergalerie']['value']; ?>
        </div>
    Welche z.B. für das erste Bild folgende Ausgabe liefert
    PHP-Code:
    <a href=".../004_1.jpg" 
        
    title="1" rel="lightbox[lbcatalogreader0]">
        <
    img height="150" width="200" alt="1" src="system/html/004_1-95d17c24.jpg"/>
    </
    a
    Bisher habe ich folgendes versucht
    PHP-Code:
    <div class="bildergalerie">
        <a href="<?php echo $entry['raw']; ?>" title="Bildergalerie" rel="lightbox[lbcatalogreader0]">
            <img height="150" width="200" alt="<?php echo $entry['alt']; ?>" src="<?php echo $entry['src']; ?>"/> </a>
    </div>
    So ist ja lediglich der Link für die lightbox erstellt. Fehlt noch die Ausgabe, zum Beispiel des ersten Bildes, welches als Link zur Galerie fungieren soll.

    Im Value sind ja zum einen die [files], sowie die [meta] enthalten. Wäre es möglich nur das [meta][0] auszugeben?

    Viele Grüße

  2. #2
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo Vettebulle,
    um mehr sagen zu können wäre die Ausgabe von <?php print_r($this->entries); ?>.
    Ich hab keine Zeit jedesmal erst bei mir das gewünschte nachzubauen ;-)

    Zusätzlich könnte dir auch noch der Teil helfen -> http://de.contaowiki.org/typolight/T...alerienKreativ

    (mit CSS könntest du ja eh in der vorschau alle Bilder ausblenden....)

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  3. #3
    Contao-Nutzer
    Registriert seit
    23.12.2009.
    Beiträge
    12

    Standard

    Hey,
    Sorry, die Ausgabe hätte ich auch gleich mit dranhängen können.
    PHP-Code:
    [objekt_bildergalerie] => Array ( 
                [
    label] => Bilder 
                
    [type] => file 
                
    [raw] => .../rul/002 
                
    [value] =>
                    [
    files] => Array ( 
                            [
    0] => .../rul/002/01.JPG 
                            
    [1] => .../rul/002/02.JPG 
                            
    [2] => .../rul/002/03.JPG 
                            
    [3] => .../rul/002/04.JPG 
                            
    [4] => .../rul/002/05.JPG 
                            
    [5] => .../rul/002/06.JPG 
                            
    [6] => .../rul/002/07.JPG 
                            
    [7] => .../rul/002/08.JPG 
                            
    [8] => .../rul/002/09.JPG 
                                                                                                    
                    [
    meta] => Array ( 
                            [
    0] => Array ( 
                                [
    src] => system/html/01-3f7bdd6c.jpg 
                                
    [alt] => 01 
                                
    [lb] => lbcatalogreader0 
                                
    [w] => 200 
                                
    [h] => 150
                                
    [wh] => width="200" height="150" 
                                
    [caption] => [metafile] => )
                                                                                                                
                            [
    1] => Array (...usw
    Das Tutorial kenne ich. Allerdings wird dort ja das Inhaltselement Galerie verwendet, in welchem man direkt auswählen kann, wieviele Vorschaubilder ausgegeben werden sollen. Wie man mit CSS Bilder ausblenden kann weiß ich noch nicht, werde ich aber gleich versuchen herauszufinden.

    Greetz

  4. #4
    Contao-Nutzer
    Registriert seit
    23.12.2009.
    Beiträge
    12

    Standard

    Hallo,
    Ich bin ein bisschen weitergekommen.
    Die Ausgabe des ersten Bildes, in Verbindung mit der Lightbox erreicht man hiermit
    PHP-Code:
    <div class="bildergalerie">
        <a href="<?php echo $entry['data']['objekt_bildergalerie']['files']['0'];?>" title="Bildergalerie" rel="lightbox[lbcatalogreader0]">
        <img height="150" width="200" alt="<?php echo $entry['data']['objekt_bildergalerie']['meta']['0']['alt'];?>" src="<?php echo $entry['data']['objekt_bildergalerie']['meta']['0']['src'];?>"/>
        </a>
    </div>
    Leider ist in dieser nur eben das erste Bild "['files']['0']" enthalten. Alle anderen werden vorher durch
    PHP-Code:
    <?php if (count($this->entries)): ?>

    <div class="layout_full">
            <?php foreach ($this->entries as $entry): ?>...
    "gezählt" und befinden sich im Array.
    Wie kann man also dann die Galerie "verlinken" die alle "files" enthält?

  5. #5
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo Vettebulle,
    ich versuch mich mal da drann.
    Du brauchst also sowas wie das hier:
    Code:
    <a href="tl_files/image01.jpg" title="bla" rel="lightbox[lightbox_1]"><img src="tl_files/image01.jpg" alt="bla" /></a>
    <a href="tl_files/image02.jpg" title="bla" rel="lightbox[lightbox_1]"></a>
    Das 1. Bild mit Vorschaubild und die anderen Bilder nur als Link, damit diese ausgegeben werden, aber erst mal nix zu sehen ist.

    Es gibt da ja im Grunde 2 Herangehensweisen:
    1. Im Backend gibt man 1 Bild an und dann noch mehrere Bilder als Galerie (so hat man die volle Kontrolle darüber welches das Vorschaubild ist)
    2. Man gibt nur eine Bildergalerie an.

    Template (Grundüberlegung):
    1. Grundüberlegung der Ausgabe allgemein:
    Code:
    <?php if($entry['data']['einzelbild']['meta']):?>
    <div class="bilder">
         <strong><?php echo $entry['data']['einzelbild']['value']; ?></strong>
          <?php if($entry['data']['bildergalerie']['value']):?><?php echo $entry['data']['bildergalerie']['value']; ?><?php endif;?>
        </div>
    <?php endif;?>
    2. Grundüberlegung der Ausgabe allgemein:
    Code:
    <?php if($entry['data']['bildergalerie']['value']):?>
    <div class="bilder">
          <?php echo $entry['data']['bildergalerie']['value']; ?>
        </div>
    <?php endif;?>
    Damit hat man einfach nur die normale Galerie. Das wäre für deinen Fall ja nicht passend (wollte nur noch mal kurz für andere das ganze etwas dokumentieren).

    Um das jetzt zu verbinden musst du verschieden Vorgehen:

    1.
    Code:
    <?php if($entry['data']['einzelbild']['meta']):?>
    <div class="bilder">
         <strong><?php echo $entry['data']['einzelbild']['value']; ?>
    <a href="<?php echo $entry['data']['einzelbild']['files']['0'];?>" title="bla" rel="lightbox[lightbox_1]"><img src="<?php echo $entry['data']['einzelbild']['meta']['0']['src'];?>" alt="bla" /></a>
    </strong>
     <?php if($entry['data']['bildergalerie']['value']):?>
    <?php foreach ($entry['bildergalerie']['value'] as $field=>$data): ?>
    <a href="<?php echo $entry['bildergalerie']['value']['meta'][$field]['src'] ?>" title="bla" rel="lightbox[lightbox_1]" ></a>
    <?php endforeach; ?>
    <?php endif;?>
        </div>
    <?php endif;?>
    2.
    Für das 1. Bild (in Array ja die 0 eine andere Ausgabe machen):
    Code:
     <?php if($entry['data']['bildergalerie']['value']):?>
    <?php foreach ($entry['bildergalerie']['value'] as $field=>$data): ?>
    <?php if(($entry['bildergalerie']['value']['meta'][$field])=='0'):?>
    <a href="<?php echo $entry['data']['einzelbild']['files']['0'];?>" title="bla" rel="lightbox[lightbox_1]"><img src="<?php echo $entry['bildergalerie']['value']['meta'][$field]['src'] ?>" alt="bla" /></a>
    <?php else;?>
    <a rel="lightbox[lightbox_1]" href="<?php echo $entry['bildergalerie']['value']['meta'][$field]['src'] ?>" title="bla"></a>
    <?php endif;?>
    <?php endforeach; ?>
    <?php endif;?>
    Alles erst mal nur Theorie...
    musst du natürlich noch an deine Variablen anpassen...
    Hoffe das klappt so, denn habs nicht getestet.
    Eventuell kann da ja noch mal jemand drüber schauen der wirklich PHP kann ;-)

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  6. #6
    Contao-Nutzer
    Registriert seit
    23.12.2009.
    Beiträge
    12

    Standard

    Hey, danke dir.

    Ich habe es noch nicht ausprobiert, weil ich im Moment sehr viel mit meinem Studium zu tun habe. Rückmeldung kommt sofort, wenn ich es probiert habe

    Aber im Moment habe ich leider mit einem viel größeren Problem zu kämpfen...

  7. #7
    Contao-Nutzer Avatar von schnoedeltroedel
    Registriert seit
    14.05.2010.
    Beiträge
    16

    Standard Catalog Templates Anpassung für Bildergalerieausgabe funktioniert noch nicht

    Hallo,


    erstmal vielen Dank für die hilfreiche Erklärung. Ich brauche für meine Seite im Grunde genau das was du beschrieben hast. Hab meinen Code an das Beispiel angepasst, aber leider passiert nichts. Hier mal mein angepasster Code.

    PHP-Code:
    <?php if($entry['data']['car_image']['value']):?>
        <?php foreach ($entry['car_image']['value'] as $field=>$data): ?>
          <div class="tab"> 
            <a href="<?php echo $entry['car_image']['value']['meta'][$field]['src'?>" class="fancy">
              <img class="promo_pic" src="<?php echo $entry['car_image']['value']['meta'][$field]['src'?>" style="width:314px; height:236px;">
            </a>
          </div>    
        <?php endforeach; ?>
    <?php 
    endif;?>
    Vielleicht kann da mal jemand drüberschauen, und mir sagen was ich falsch mache. Wahrscheinlich liegt es nur an einer Kleinigkeit. Wenn ich die Seite lade, wird einfach gar nichts ausgegeben.
    Ich habe per print_r befehl schon getestet und herausgefunden, dass die erste if abfrage wahr ist. Nur scheint die dann folgende for-each schleife ignoriert zu werden.

    lg

  8. #8
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo ,
    nur so auf die Schnelle:

    Versuchs mal in Zeile 2 so:
    Code:
    <?php foreach ($entry['data']['car_image']['value'] as $field=>$data): ?>
    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  9. #9
    Contao-Nutzer Avatar von schnoedeltroedel
    Registriert seit
    14.05.2010.
    Beiträge
    16

    Standard

    tut sich leider nix.

  10. #10
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hmm ich hab den code selber noch nie gebraucht... leider hat den anscheinend auch mal keiner durchgesehen...
    Wie sieht denn jetzt dein Kompolettes Template aus? Da sollte ja noch mehr drinn sein ^^

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  11. #11
    Contao-Nutzer Avatar von schnoedeltroedel
    Registriert seit
    14.05.2010.
    Beiträge
    16

    Standard

    hier der gesamte code:
    PHP-Code:
    <?php if (count($this->entries)): ?>

    <div class="layout_full">
    <?php foreach ($this->entries as $entry): ?>        

    <div class="result_details <?php echo $entry['class'] ? ' '.$entry['class'] : ''?>">
      <?php if($entry['linkEdit']): ?><?php echo $entry['linkEdit']; ?><?php endif; ?>
        
      <?php if($entry['data']['car_image']['value']):?>
        <?php foreach ($entry['car_image']['value'] as $field=>$data): ?>  
          <div class="tab" id="tab0">
            <a href="<?php echo $entry['car_image']['value']['meta'][$field]['src'?>" class="fancy">
              <img class="promo_pic" src="<?php echo $entry['car_image']['value']['meta'][$field]['src'?>" style="width:314px; height:236px;" alt="" align="right" border="none" >
            </a>
          </div>      
        <?php endforeach; ?>
      <?php endif;?>
      
      <h1 class="wide260"><?php echo $entry['data']['anzeigename']['value']; ?></h1>
      <p class="promo_price"><?php echo $entry['data']['preis']['value']; ?></p>
      <p class="promo_params"><?php echo $entry['data']['ez']['value']; ?></p>
      <p class="promo_params"><?php echo $entry['data']['kilometer']['value']; ?></p>
      <p class="promo_params"><?php echo $entry['data']['kraftstoff']['value']; ?></p>
      <p class="promo_params"><?php echo $entry['data']['leistung']['value']; ?></p>
      <div class="wide260 gebraucht_gallery_container">
      
      </div>
      <?php if($entry['data']['optional_hint']['value']): ?>
      <div class="optionalNotice"><p><?php echo $entry['data']['optional_hint']['value']; ?></p></div>
      <?php else: ?>
      <p style="height:25px;"></p>
      <?php endif; ?>
      <div class="car_description">
        <h2><?php echo $entry['data']['anzeigename']['value']; ?></h2>
        <div class="descr_table"> 
          <div class="column identifier">
            <p> Erstzulassung </p>
               <p> Kilometerstand</p>
               <p> HU/AU</p>
               <p> Krafstoff</p>
               <p> Leistung</p>
               <?php if (is_numeric($entry['data']['verbrauch_kombiniert']['value'][0])): ?>
              <p> Verbrauch kombiniert</p>
            <?php endif; ?>
                <?php if (is_numeric($entry['data']['verbrauch_innerorts']['value'][0])): ?>
                 <p> Verbrauch innerorts</p>
            <?php endif; ?>
        <?php if (is_numeric($entry['data']['verbrauch_ausserorts']['value'][0])): ?>
          <p> Verbrauch außerorts</p>
            <?php endif; ?>
               <p> Getriebeart</p>
          </div>
          <div class="column lastRight">
               <p><?php echo $entry['data']['ez']['value']; ?></p>
              <p><?php echo $entry['data']['kilometer']['value']; ?></p>
            <p><?php echo $entry['data']['hu']['value']; ?></p>
            <p><?php echo $entry['data']['kraftstoff']['value']; ?></p>
            <p><?php echo $entry['data']['leistung']['value']; ?></p>
        <?php if (is_numeric($entry['data']['verbrauch_kombiniert']['value'][0])): ?>
              <p><?php echo $entry['data']['verbrauch_kombiniert']['value']; ?></p>
            <?php endif; ?>
            <?php if (is_numeric($entry['data']['verbrauch_innerorts']['value'][0])): ?>
              <p><?php echo $entry['data']['verbrauch_innerorts']['value']; ?></p>
            <?php endif; ?>
            <?php if (is_numeric($entry['data']['verbrauch_ausserorts']['value'][0])): ?>
              <p><?php echo $entry['data']['verbrauch_ausserorts']['value']; ?></p>
            <?php endif; ?>
            <p><?php echo $entry['data']['getriebeart']['value']; ?></p>
          </div>
          <div class="column identifier">
             <p> Farbe</p>
            <?php if($entry['data']['zylinder']['value']): ?>
          <p> Zylinder</p>
            <?php endif; ?>  
               <p> Hubraum</p>
               <p> Türen</p>
               <p> Schadstoffklasse</p>
         <?php if($entry['data']['klimatisierung']['value']): ?>
              <p> Klimatisierung</p>
            <?php endif; ?>  
            <?php if($entry['data']['polsterart']['value']): ?>
                 <p> Polsterart</p>
            <?php endif; ?>  
               <?php if($entry['data']['polsterfarbe']['value']): ?>
              <p> Polsterfarbe</p>
            <?php endif; ?>  
          </div>
          <div class="column ">
             <p><?php echo $entry['data']['farbe']['value']; ?></p>
            <?php if($entry['data']['zylinder']['value']): ?>
                 <p><?php echo $entry['data']['zylinder']['value']; ?></p>
            <?php endif; ?>  
               <p><?php echo $entry['data']['hubraum']['value']; ?></p>
               <p><?php echo $entry['data']['tueren']['value']; ?></p>
               <p><?php echo $entry['data']['schadstoffklasse']['value']; ?></p>
            <?php if($entry['data']['klimatisierung']['value']): ?>
                 <p><?php echo $entry['data']['klimatisierung']['value']; ?></p>
            <?php endif; ?>
            <?php if($entry['data']['polsterart']['value']): ?>  
                 <p><?php echo $entry['data']['polsterart']['value']; ?></p>
              <?php endif; ?>
            <?php if($entry['data']['polsterfarbe']['value']): ?>
              <p><?php echo $entry['data']['polsterfarbe']['value']; ?></p>            
            <?php endif; ?>  
          </div>
          <div class="column rightSide"> </div>
        </div>
      <h2>Fahrzeugbeschreibung</h2>  
      <p class="fliesstext width570"> <?php echo $entry['data']['fahrzeugbeschreibung']['value']; ?></p>
      <h2>Fahrzeugausstattung</h2>
      <p class="fliesstext width570"><?php echo $entry['data']['fahrzeugausstattung']['value']; ?></p>
      </div>
    <?php endforeach; ?>
    </div>

    <?php else: ?>
    <p class="info"><?php echo $this->noItemsMsg?></p>
    <?php endif; ?>
    Der Rest funktioniert soweit einwandfrei Zur Not müsste ich halt jedes Bild einzeln als Feld anlegen und dann einzeln ausgeben, aber das wäre nicht sonderlich schön...

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. Bildergalerie
    Von Mitch im Forum Bilder/Dateien
    Antworten: 3
    Letzter Beitrag: 15.06.2010, 16:03
  2. Template/Ausgabe von Formularen ändern
    Von Markus Schott im Forum Layout / Templates / Holy Grail
    Antworten: 1
    Letzter Beitrag: 02.04.2010, 08:43
  3. Template-Ausgabe ändern, wenn Unterseiten vorhanden
    Von guitar im Forum Layout / Templates / Holy Grail
    Antworten: 4
    Letzter Beitrag: 09.02.2010, 09:43
  4. Antworten: 7
    Letzter Beitrag: 11.09.2009, 21:50

Lesezeichen

Lesezeichen

Berechtigungen

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