Ergebnis 1 bis 3 von 3

Thema: [pageimage] Auslesen von pageImage [BLOB]-Wert in Seitenauswahl nicht möglich

  1. #1
    Contao-Nutzer
    Registriert seit
    25.10.2010.
    Ort
    Zürich
    Beiträge
    5

    Beitrag [pageimage] Auslesen von pageImage [BLOB]-Wert in Seitenauswahl nicht möglich

    Hallo

    Ich habe mittels Elementgenerator ein eigenes Element erstellt, welches ein Feld vom Typ Seitenauswahl besitzt. Dieses Element kann in einem Artikel hinzufügen und die gewünschten Seiten auswählen, welche angeteasert werden sollen. Das klappt auch alles bestens, bis auf das Bild der verlinkten Seite, welches ich durch die Erweiterung pageimage der Seite in der Seitenstruktur zugewiesen habe.
    Konkret ist mein Problem, dass zwar der Wert aus der Datenbank in der Tabelle tl_page aus dem Feld pageImage zurückgeliefert wird. Da dieser Wert aber in der Datenbank als [BLOB]-Wert gespeichert ist, weiss ich nicht, wie ich den richtig auslesen muss.

    Wie bekomme ich anstelle dem mir unverständlichen Resultat einen leserlichen Pfad für das Seitenbild zurück? Muss ich beim Auslesen irgendetwas konvertieren oder was mache ich falsch?
    Das Auslesen mittels PHP sieht wie folgt aus:

    PHP-Code:
    <?php if($this->data['RelatedPages']['value']): ?>
      <?php foreach(deserialize($this->data['RelatedPages']['value'], true) as $item): ?>
        <a href="<?php echo $item['href']; ?>" title="<?php echo $id['title']; ?>">
          <?php foreach(deserialize($item['pageImage']) as $teaserImage): ?>
            teaserImage: <?php echo $teaserImage['src']; ?><br>
          <?php endforeach; ?>
          <h4><?php echo $item['title']; ?></h4>
          <p class="teaser"><?php echo $item['description']; ?></p>
        </a>
      <?php endforeach; ?>
      </div>
    <?php endif; ?>
    Danke für jede Unterstützung! Mein googlen war leider zum Thema BLOB, dma_elementgenerator und/oder pageimage nicht erfolgreich. Zuerst habe ich die Lösung unter dma_elementgenerator gesucht (Post), aber es gehört wohl eher zum Modul pageimage.
    René

  2. #2
    Contao-Nutzer Avatar von fivebytes
    Registriert seit
    18.01.2013.
    Ort
    Iserlohn
    Beiträge
    93

    Standard

    Hallo Rene,

    an sich solltest Du über das FilesModel da ran kommen, so weit ich das im Kopf habe, stehen mittlerweile auch die UUIDs in dem Array für die PageImages. Sofern also $teaserImage['src'] eine UUID liefert sollte das so funzen:
    HTML-Code:
    $this->getImage(\FilesModel::findByUuid($teaserImage['src'])->path,400,300)
    Die beiden Werte hinten sind die Bildmaße (Höhe, Breite).
    Entspannte Grüße aus Iserlohn
    Stefen

    fivebytes.de - Internetentwicklung & Webdesign | Mit Contao umgesetzt Speedy´s Hamsterseiten

  3. #3
    Contao-Nutzer
    Registriert seit
    25.10.2010.
    Ort
    Zürich
    Beiträge
    5

    Daumen hoch

    Das ganze war schlussendlich einiges einfacher als vermutet. Die Lösung war in den Posts von Dexter Paris zu finden (Post 1, Post 2).

    Mit findByPk des PageModel komme ich an das Seitenbild.
    PHP-Code:
    PageImage::getOne(\PageModel::findByPk($item['raw']) 
    Dann muss nur noch das Bild in die richtige Grösse gebracht werden, wie es 50fivebytes auch aufgezeigt hatte in seiner Antwort.

    Schlussendlich sieht es wie folgt aus:
    PHP-Code:
    <?php if($this->data['RelatedPages']['value']): ?>
      <?php foreach(deserialize($this->data['RelatedPages']['value'], true) as $item): ?>
        <?php 
        $objImage 
    PageImage::getOne(\PageModel::findByPk($item['raw']));
        
    $strImage $this->getImage($objImage["path"], 16090'center_center');  
        
    ?>
        <a href="<?php echo $item['href']; ?>" title="<?php echo $item['title']; ?>">
          <img src="<?php echo $strImage?>" width="160" height="90" alt="<?php echo $item['title']; ?>" />
          <h4><?php echo $item['title']; ?></h4>
          <p class="teaser"><?php echo $item['description']; ?></p>
        </a>
      <?php endforeach; ?>
      </div>
    <?php endif; ?>
    Danke allen Supportern für den Hirnschmalz und die Antworten. Habe nun meine Freude an der Teaser-Komponente.

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
  •