Arbeiten mit Bildern
Aus Contao Community Documentation
betrifft | |
---|---|
TYPOlight Version | ab 2.7 |
Contao Version | ab 2.9 |
Das Contao-Framework stellt folgende Methoden für das Arbeiten mit Bildern zur Verfügung:
- generateImage()
- getImage()
Der generelle Ablaub beim Arbeiten mit Bildern ist folgender. Man hat die Original-Daten welche meistens unter dem Ordner tl_files abgelegt sind. Im nächsten Schritt werden die Originaldaten aufbereitet, dass heißt das Bild wird in der entsprechenden GRöße unter system/html abgelegt und von dort aus auf der Webseite ausgegeben.
Inhaltsverzeichnis
getImage()
Die Methode getImage() ist in der Controller.php angesiedelt und besitzt 5 Parameter wovon die ersten drei Parameter verpflichtend sind. Die Methode erstellt eine neue Version des Original-Bildes und legt dieses im Cache Verzeichnis /system/html ab. Es wird eine URL zum neuen Bild zurück gegeben. Dieser Rückgabewert wird dann mit der Methode generateImage weiter verarbeitet. Aktuell unterstützt Contao die folgenden Bildformate: jpeg, jpg, png, gif
Parameter
- $image: Enthällt den Pfad zu dem Bild welches bearbeitet werden soll. (BSP: tl_root/images/foobar.jpg)
- $width: enthällt die gewünschte Breite des Bildes (BSP: 200)
- $height: enthällt die gewünschte Höhe des Bildes (BSP: 250)
- $mode: optionale Angabe der Skallierungsmethode
- proportional
- box
- $target: // fehlt
generateImage()
Die Methode generateImage() ist ebenfalls in der Controller.php angesiedelt und erzeugt einen HTML <img> Tag welcher in einem Template ausgegeben werden kann. Diese Methode besitzt 3 Parameter wovon nur der Erste verpflichtend angegeben werden muss. Wird beim Parameter $src kein Pfad angegeben, sondern nur ein Bildname (Pdafe beginnen immer mir /, Bildnamen nicht) so sucht Contao das Bild im aktuellen Themes Verzeichnis. (BSP: system/themes/default/images/)
Parameter
- $src: Der Pfad zum Bild welches eingebunden werden soll. (BSP: hier kann der Rückgabewert der Methode getImage() verwendet werden)
- $alt: Angabe eines ALT-Wertes. Dieser ist laut W3C Pflicht und sollte immer angegeben werden.
- $attributes: Angabe aller weiteren zusätzlichen <img> Attribute. (BSP: inline CSS, ...)
Codebeispiele
Mit folgendem Code können Sie eine neue verkleinerte Version eines Bildes im Cache ablegen und auf der Seite ausgeben lassen: $strReturn = $this->generateImage($this->getImage('tl_files/images/foobar.jpg', 300, 250, 'proportional'), 'my first image');