Ergebnis 1 bis 7 von 7

Thema: Angabe Bildgröße bei Bild schon im Template mitgeben (für srcset/responsive Image)

  1. #1
    Contao-Nutzer
    Registriert seit
    23.05.2012.
    Beiträge
    89

    Frage Angabe Bildgröße bei Bild schon im Template mitgeben (für srcset/responsive Image)

    Hallo zusammen,

    ich möchte folgendes erreichen:
    Ich verwende die Bildgrößenfunktion, um für srcset von Contao automatisch die verschieden großen Bilder zu erzeugen. Soweit funktioniert das ja ganz gut. Man kann dem ganzen einen Namen geben, zum Beispiel „Bild halbe Seitenbreite“ oder „Mitarbeiterfoto“ und auf allen Geräten wird das korrekt ausgegeben.

    Der Nachteil ist, man muss jedesmal wenn man ein Bild verwendet manuell aus dem Dropdown die passende Bildgröße für den aktuell benötigten Zweck auswählen. Wenn ich aber eine Slider-Folie anlege, soll IMMER die von mir angelegte Bildgröße „Slider-Bild“ verwendet werden.

    Jetzt ist es so, dass ich sowieso schon für alles eigene Elemente mit dem dma-Elementgenerator erstelle, damit der Kunde ganz einfach das Element Sliderfolie auswählen und die Felder ausfüllen kann. Ich weiß genau, dass die Vielzahl der Bearbeiter beim Kunden überfordert damit sein werden, jedes mal beim anlegen einer Folie auch noch die richtige Bildgröße anzugeben. Bzw. fühlt es sich auch so überflüssig an, weil eh immer gleich.

    Kann man nicht irgendwie – direkt in z.B. meinem Slider Template – der Bildausgabe was mitgeben, wie „nimm hier immer das Bildgrößen-Preset ‘Slider-Bild‘“? Das ist ja auch nur eine Information, die irgendwo in der Datenbank steht…

    Ich bin übrigens leider kein Programmierer und komme mit PHP gerade so zurecht, um mir meine eigenen Templates und if else-Anweisungen zusammenzuschrauben :-) Also sehr dankbar wäre ich für konkrete Schubser und Ideen. Eine eigene Erweiterung würde ich bei weitem nicht zusammenbekommen

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

    Standard

    Zitat Zitat von Markus1982 Beitrag anzeigen
    Kann man nicht irgendwie – direkt in z.B. meinem Slider Template – der Bildausgabe was mitgeben, wie „nimm hier immer das Bildgrößen-Preset ‘Slider-Bild‘“?
    Ja, kann man. Wie man das genau beim dma_elementgenerator macht kann ich dir nicht sagen, aber prinzipiell kannst du dir die Ausgabe des Bildes im Template frei programmieren.


    Zitat Zitat von Markus1982 Beitrag anzeigen
    Ich bin übrigens leider kein Programmierer und komme mit PHP gerade so zurecht, um mir meine eigenen Templates und if else-Anweisungen zusammenzuschrauben :-)
    Das ist natürlich etwas hinderlich

  3. #3
    Contao-Nutzer
    Registriert seit
    23.05.2012.
    Beiträge
    89

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Ja, kann man. Wie man das genau beim dma_elementgenerator macht kann ich dir nicht sagen, aber prinzipiell kannst du dir die Ausgabe des Bildes im Template frei programmieren.
    Der dma_elementgenerator verwendet zur Ausgabe eines Bildes erstmal auch nur das Template von ce_image. Der macht an der Stelle also erstmal nichts eigenes. Es würde mir also sehr weiterhelfen, wenn Du vielleicht weißt, wie man eine angelegte Bildgröße fest erzwungen in Core-templates, wie z.B. ce_image ausgeben kann.

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

    Standard

    Versuch's mal so:
    PHP-Code:
    <?php

    $arrData 
    $this->getData();
    $arrData['size'] = array(nullnull1);
    \
    Controller::addImageToTemplate($this$arrData);

    ?>
    Die ID 1 ersetzt du natürlich mit der ID deiner Bildeinstellung.

    So würde es im ce_image funktionieren. Im DMA Element Generator aber vielleicht nicht, wenn ich mir den Code ansehe: DMAElementGenerator.php#L572-L663

    Bei den RockSolid Custom Elements wäre es einfacher.
    Geändert von Spooky (09.07.2017 um 15:37 Uhr)

  5. #5
    Contao-Nutzer
    Registriert seit
    23.05.2012.
    Beiträge
    89

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Versuch's mal so:
    PHP-Code:
    <?php

    $arrData 
    $this->getData();
    $arrData['size'] = array(nullnull1);
    \
    Controller::addImageToTemplate($this$arrData);

    ?>
    Die ID 1 ersetzt du natürlich mit der ID deiner Bildeinstellung.
    Das funktioniert einfach nur reinkopiert erstmal leider nicht, trotz korrekter ID.

    Zitat Zitat von Spooky Beitrag anzeigen
    Bei den RockSolid Custom Elements wäre es einfacher.
    Das scheint ein echt guter Tipp zu sein :-)
    RockSolid Custom Elements kenne ich noch nicht und scheint noch mehr zu können, als DMA Elementgenerator. Das schaue ich mir mal gründlicher an.

    Geht das da direkt oder wäre das ähnlich, wie Deine Lösung oben für das ce_image?

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

    Standard

    Bei RSCE macht man das so:
    PHP-Code:
    <?php if ($image $this->getImageObject($this->image, array('','',1))): ?>
      <figure>
        <?php $this->insert('picture_default'$image->picture?>
      </figure>
    <?php endif; ?>

  7. #7
    Contao-Nutzer
    Registriert seit
    23.05.2012.
    Beiträge
    89

    Standard

    Vielen Dank! Das funktioniert super.

    Danke auf für den Tipp mit der RSCE Erweiterung. Die gefällt mir auf Anhieb viel besser, als die Klickorgie vom dma-Elementgenerator

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
  •