Ergebnis 1 bis 18 von 18

Thema: MetaModels und das srcimage aus 3.4

  1. #1
    Contao-Fan
    Registriert seit
    12.01.2011.
    Beiträge
    322

    Standard MetaModels und das srcimage aus 3.4

    Hallo,

    ich würde gerne die neue Funktion für responsive Bilder aus der Version 3.4 nutzen.

    Leider bin ich mir gerade nicht ganz sicher, wie ich das Template für File anpassen muss, damit ich die im Theme definierten Bildgrößen verwenden kann.

    Hat viellecht einer von euch dies schon umgesetzt und kann mir einen Tip oder ähnliches geben?

    Vielen Dank

    Grüße

    Bongartz120

  2. #2
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.925
    User beschenken
    Wunschliste

    Standard

    ich glaube, da musst Du Dich bis 3.5 gedulden bzw. umstellen => siehe https://github.com/contao/core/issues/7635

  3. #3
    Contao-Fan
    Registriert seit
    12.01.2011.
    Beiträge
    322

    Standard

    Ich kann jetzt gerade nicht auf gitHub, da es bei mir im Netzwerk gesperrt ist.

    Aber ich verstehe es nicht so ganz. Ab Version 3.4 wird doch das srcset Attribute von contao unterstützt, warum muss ich dann auch Version 3.5 warten?

    Meine frage ging doch mehr an das MM Template wie ich es umbauen muss, damit ich auf die Bildgrößendefination aus dem Theme zugreifen kann. Unter 3.4 ist doch im Bereich Theme Bildgrößen dafür hinzugekommen oder nicht?

  4. #4
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.925
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von bongartz120 Beitrag anzeigen
    Ich kann jetzt gerade nicht auf gitHub, da es bei mir im Netzwerk gesperrt ist.
    ... dann frag eine Kollegin/Kollege ob man Dir ein Smartphone mit Internetzugriff ausleihen kann, um die Seite anzusehen...

  5. #5
    Contao-Fan
    Registriert seit
    12.01.2011.
    Beiträge
    322

    Standard

    Ich schau es mir an, wenn ich zu Hause bin ;-)

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Zitat Zitat von bongartz120 Beitrag anzeigen
    Ich kann jetzt gerade nicht auf gitHub, da es bei mir im Netzwerk gesperrt ist.
    Warum sperren die das o_0

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

    Support Contao

    Standard

    Naja, das ganze hat eh nichts miteinander zu tun.. also nicht wirklich (mit einem Inserttag könnte man das dann zwar machen, ist aber eigentlich albern und kostet nur Rechenzeit an der Stelle).
    Ich wollte die Templates eigentlich noch vor der Konferenz fertig machen, schaffe das aber nicht wegen Zeitmangel
    Wenn da also einer schon mal loslegen möchte... im Grunde muß man da nur neue Templates anlegen und dann in den Templates für img abgucken wie es geht.
    Der Rest muss dann von einem Entwickler gemacht werden ;-)

    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."

  8. #8
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.925
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von MacKP Beitrag anzeigen
    kostet nur Rechenzeit an der Stelle
    ... die Rechenzeit sollte mit einem Caching abgefangen werden (können)

  9. #9
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Dass du warten musst, stimmt so nicht. Ich weiß gerade nicht mehr aus dem Kopf, wie MetaModels das Bildattribute parst. Aber angenommen, du hast bereits den Bildpfad, dann kannst du folgendermaßen das Picture Element erstellen lassen:

    PHP-Code:
    <?php 

    $picture  
    = \Picture::create($deinBildPfad$imageSizeId);
    $template = new \FrontendTemplate('picture_default');
    $template->setData($picture->getTemplateData());

    echo 
    $template->parse();

  10. #10
    Contao-Nutzer
    Registriert seit
    13.09.2009.
    Ort
    Münster; NRW
    Beiträge
    77

    Standard

    PHP-Code:
    <?php  

    $picture  
    = \Picture::create($deinBildPfad$imageSizeId); 
    $template = new \FrontendTemplate('picture_default'); 
    $template->setData($picture->getTemplateData()); 

    echo 
    $template->parse();
    gibt es hier auch eine Möglichkeit das "alt" und das "title" Attribut mit an das Template zu übergeben?

  11. #11
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.925
    User beschenken
    Wunschliste

    Standard

    probier mal
    PHP-Code:
     <?php  

    $picture  
    = \Picture::create($deinBildPfad$imageSizeId); 
    $template = new \FrontendTemplate('picture_default');
    $picture['alt'] = 'my ALT text';
    $template->setData($picture->getTemplateData()); 

    echo 
    $template->parse();

  12. #12
    Contao-Nutzer
    Registriert seit
    13.09.2009.
    Ort
    Münster; NRW
    Beiträge
    77

    Standard

    Leider nein.

    Danach wird im Frontend nur noch ein Bild dargestellt (ohne alt))und der Rest der Webseite ist verschwunden.

  13. #13
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.925
    User beschenken
    Wunschliste

    Standard

    PHP-Code:
    $picture['alt'] = 'my ALT text'

  14. #14
    Contao-Nutzer
    Registriert seit
    13.09.2009.
    Ort
    Münster; NRW
    Beiträge
    77

    Standard

    So sieht mein Template aus:

    PHP-Code:
    <?php foreach($this->items->parseAll($this->getFormat(), $this->view) as $arrItem):
        
    $picture  = \Picture::create($arrItem['raw']['pro_images']['path']['0'], 1);
        
    $picture['alt'] = <?php echo $arrItem['text']['pro_title']; ?>;
        $template = new \FrontendTemplate('picture_default');
        $template->setData($picture->getTemplateData());
    ?>


      <div class="project-image">
        <figure class="image_container">
          <a href="<?php echo $arrItem['jumpTo']['url']; ?>">
            <?php echo $template->parse(); ?>
          </a>
        </figure>
      </div>
      <div class="project-title">
        <a href="<?php echo $arrItem['jumpTo']['url']; ?>"><?php echo $arrItem['text']['pro_title']; ?></a>
      </div>


    <?php endforeach; ?>
    wenn ich:

    PHP-Code:
    $picture['alt'] = <?php echo $arrItem['text']['pro_title']; ?>;
    im Template einfüge bekomme ich im Frontend nur noch eine weiße Seite.
    Geändert von makrele (07.03.2017 um 11:58 Uhr)

  15. #15
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.925
    User beschenken
    Wunschliste

    Standard

    tja... war nur so eine Idee - steckt das ggf. noch in 'media' drin?

    https://github.com/contao/core/blob/...ao/Picture.php

  16. #16
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Zitat Zitat von makrele Beitrag anzeigen
    wenn ich:

    PHP-Code:
    $picture['alt'] = <?php echo $arrItem['text']['pro_title']; ?>;
    im Template einfüge bekomme ich im Frontend nur noch eine weiße Seite.
    \Picture::create gibt ein \Picture Objekt zurück, kein Array. Außerdem ist deine PHP Syntax generell komplett falsch.

    Du brauchst
    PHP-Code:
    $arrPicture = \Picture::create($arrItem['raw']['pro_images']['path']['0'], 1)->getTemplateData();
    $arrPicture['alt'] = $arrItem['text']['pro_title'];
    $objTemplate = new \FrontendTemplate('picture_default');
    $objTemplate->setData($arrPicture); 

  17. #17
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.925
    User beschenken
    Wunschliste

    Standard

    ggf. das $arrItem['text']['pro_title']; auf Sonderzeichen behandeln bzw. escapen - ein " sollte da sicher nicht auftauchen...

  18. #18
    Contao-Nutzer
    Registriert seit
    13.09.2009.
    Ort
    Münster; NRW
    Beiträge
    77

    Standard

    Danke Spooky und zonky. Funktioniert!

    PHP-Code:
    <?php foreach ($this->data as $arrItem):
        
    $arrPicture = \Picture::create($arrItem['raw']['pro_images']['path']['0'], 1)->getTemplateData(); 
        
    $arrPicture['alt'] = specialchars($arrItem['text']['pro_title']);
        
    $objTemplate = new \FrontendTemplate('picture_default'); 
        
    $objTemplate->setData($arrPicture);
    ?>

    <div class="project-image">
      <figure class="image_container">
        <a href="<?php echo $arrItem['jumpTo']['url']; ?>">
          <?php echo $objTemplate->parse(); ?>
        </a>
      </figure>
    </div>

    <?php endforeach; ?>

Aktive Benutzer

Aktive Benutzer

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

Berechtigungen

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