Verwendung: Responsiv Images in Custom Elements verwenden

Alexander's Avatar

Alexander

21 Nov, 2016 05:31 PM

Produkt: Custom Elements Contao
Contao-Version: 3.5.18

Hi,

wie kann ich im Template den Polyfill für die Bilder laden, oder im Backend die Auswahl, von mir aus auch auch als Default Wert, des Polyfills zur Verfügung stellen?
Ein callback ist den der Config ja nicht möglich oder?

  1. Support Staff 1 Posted by RockSolid Theme... on 22 Nov, 2016 08:14 AM

    RockSolid Themes's Avatar

    Vielen Dank für Ihre Frage.

    Ein Responsive Image können Sie in einem Custom Element folgendermaßen ausgeben:

    <?php if ($image = $this->getImageObject($this->image, $this->size)): ?>
        <?php $this->insert('picture_default', $image->picture) ?>
    <?php endif ?>
    

    Das Beispiel geht davon aus, dass die Felder image für das Bild und size für die Bildgröße in dem Element konfiguriert sind.

    Der Polyfill wird nach dem Bild automatisch aktiviert sofern er über die Layouteinstellungen eingebunden wurde.

  2. 2 Posted by Alexander on 22 Nov, 2016 08:22 AM

    Alexander's Avatar

    Danke für's feedback. Dieser Weg war mir schon bekannt und funktioniert soweit auch. Nur muss ich die size ja im Backend auswählen über 'inputType' => 'imageSize' oder andere Feldtypen ist das prinzipiell auch möglich, aber das beinhaltet noch keinen verweis auf die tl_image_sizepder tl_image_size_item wo ich die Größen und Breakpoints ja festlegen kann. Ist ein options_callback auf der ..._config.phpmöglich?

    Vielen Dank & Gruß

    Alexander

  3. Support Staff 3 Posted by RockSolid Theme... on 22 Nov, 2016 12:21 PM

    RockSolid Themes's Avatar

    Ein Feld mit 'inputType' => 'imageSize' sollte Verweise zu tl_image_size enthalten wenn Sie 'options' => \System::getImageSizes() verwendet haben.

    Ansonsten ist auch ein options_callback in der Konfiguration möglich wenn Sie andere Auswahlmöglichkeiten anbieten möchten.

  4. 4 Posted by Alexander on 22 Nov, 2016 02:54 PM

    Alexander's Avatar

    Genau das was ich gesucht habe, vielen Dank!

  5. 5 Posted by Markus Schindle... on 20 Jan, 2019 10:52 AM

    Markus Schindler - CodeSache.de's Avatar

    Gibt es die Möglichkeit ein Bildgrößen-Set das ich vorher in den Themes definiert habe gleich zuzuordnen, das der Redakteur das nicht machen muss?

  6. Support Staff 6 Posted by RockSolid Theme... on 21 Jan, 2019 01:09 PM

    RockSolid Themes's Avatar

    Ja. Sie können direkt im Template-Code die ID der Bildgröße angeben anstatt der $this->size variable:

    $image = $this->getImageObject($this->image, 123)
    

    Ersetzen Sie dabei 123 mit der ID Ihrer Bildgröße.

  7. 7 Posted by info on 15 Sep, 2020 08:07 AM

    info's Avatar

    neu

    $image = $this->getImageObject($this->image, [null, null, 123])

    bei alten PHP-Versionen statt der Kurzschreibweise array(...) verwenden

Reply to this discussion

Internal reply

Formatting help / Preview (switch to plain text) No formatting (switch to Markdown)

Attaching KB article:

»

Attached Files

You can attach files up to 10MB

If you don't have an account yet, we need to confirm you're human and not a machine trying to post spam.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac