Arbeiten mit Bildern: Unterschied zwischen den Versionen

Aus Contao Community Documentation

K (Kleinere Korrekturen und stilistisch ein wenig aufbereitet.)
(getImage())
Zeile 13: Zeile 13:
  
 
== getImage() ==
 
== getImage() ==
Die Methode getImage() ist in der Datei Controller.php angesiedelt und stellt fünf Parameter zur Verfügung, von welchen die ersten drei verpflichtend sind.  
+
Die Methode getImage() ist in der Datei system/libraries/Controller.php angesiedelt und stellt fünf Parameter zur Verfügung, von welchen die ersten drei verpflichtend sind.  
Die Methode erstellt eine neue Version des Original-Bildes und legt dieses im Cache Verzeichnis /system/html ab.  
+
Die Methode erstellt eine neue Version des Original-Bildes und legt dieses im Cache Verzeichnis /system/html ab, sofern der Parameter $target nicht übergeben wird.  
Es wird eine URL zum neuen Bild zurück gegeben. Dieser Rückgabewert wird dann mit der Methode generateImage() (siehe unten) weiter verarbeitet.
+
Es wird der Pfad zum neuen Bild zurück gegeben, wenn die Verarbeitung funktioniert hat.
  
Aktuell unterstützt Contao die folgenden Bildformate: jpeg, jpg, png, gif (sofern die installierte Version der glib das jeweilige Format auch bereitstellt).
+
Aktuell verarbeitet Contao die Bildformate welche von PHP (gdlib) unterstützt werden: jpeg, jpg, png und gif (nur lesen)
  
 
=== Parameter ===
 
=== Parameter ===
# $image: Enthällt den Pfad zu dem Bild welches bearbeitet werden soll. (BSP: tl_root/images/foobar.jpg)
+
# $image: Enthällt den Pfad zu dem Bild welches bearbeitet werden soll. (BSP: tl_files/images/foobar.jpg)
 
# $width: enthällt die gewünschte Breite des Bildes (z.B.: 200)
 
# $width: enthällt die gewünschte Breite des Bildes (z.B.: 200)
 
# $height: enthällt die gewünschte Höhe des Bildes (z.B.: 250)
 
# $height: enthällt die gewünschte Höhe des Bildes (z.B.: 250)
Zeile 26: Zeile 26:
 
## proportional
 
## proportional
 
## box
 
## box
# $target: // fehlt
+
# $target: Ort an dem das neue Bild gespeichert werden soll, relativ zu TL_ROOT.
  
 
== generateImage() ==
 
== generateImage() ==

Version vom 25. August 2010, 10:11 Uhr


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:

  1. generateImage()
  2. getImage()

Die Original-Daten, welche meistens unter dem Ordner tl_files abgelegt sind werden aufbereitet. Hierzu wird das Bild in der entsprechenden Größe unter system/html abgelegt und auf der Webseite werden nur noch Verweise auf diese erzeugte Kopie ausgegeben.

getImage()

Die Methode getImage() ist in der Datei system/libraries/Controller.php angesiedelt und stellt fünf Parameter zur Verfügung, von welchen die ersten drei verpflichtend sind. Die Methode erstellt eine neue Version des Original-Bildes und legt dieses im Cache Verzeichnis /system/html ab, sofern der Parameter $target nicht übergeben wird. Es wird der Pfad zum neuen Bild zurück gegeben, wenn die Verarbeitung funktioniert hat.

Aktuell verarbeitet Contao die Bildformate welche von PHP (gdlib) unterstützt werden: jpeg, jpg, png und gif (nur lesen)

Parameter

  1. $image: Enthällt den Pfad zu dem Bild welches bearbeitet werden soll. (BSP: tl_files/images/foobar.jpg)
  2. $width: enthällt die gewünschte Breite des Bildes (z.B.: 200)
  3. $height: enthällt die gewünschte Höhe des Bildes (z.B.: 250)
  4. $mode: optionale Angabe der Skallierungsmethode
    1. proportional
    2. box
  5. $target: Ort an dem das neue Bild gespeichert werden soll, relativ zu TL_ROOT.

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 (Pfade beginnen immer mit / und sind relativ zum TL_ROOT zu verstehen, Bildnamen nicht) so sucht Contao das Bild im aktuellen Themes Verzeichnis. (i.d.R.: /system/themes/default/images/ sofern kein anderes Backend-Theme gewählt wurde).

Parameter

  1. $src: Der Pfad zum Bild welches eingebunden werden soll. (hier kann z.B. der Rückgabewert der Methode getImage() verwendet werden)
  2. $alt: Angabe eines Wertes für das alt-Attribut. Dieser ist laut W3C Pflicht und sollte immer angegeben werden.
  3. $attributes: Angabe weiterer Attribute für das zu erzeugende <img> Tag. (z.B.: inline CSS via style Attribut, etc.)

Codebeispiele

Mit folgendem Code kann eine neue verkleinerte Version eines Bildes im Cache abgelegt und auf der Seite ausgegeben werden:

$strReturn = $this->generateImage($this->getImage('tl_files/images/foobar.jpg', 300, 250, 'proportional'), 'my first image');
// nun den Wert an ein Template übergeben.
$this->Template->myFirstImage = $strReturn;
Ansichten
Meine Werkzeuge

Contao Community Documentation

... aber beim nächsten Mal nehm ich einfach den Catalog... da hab ich weniger Arbeit mit.

MacKP
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge