G3 REST

Aus Contao Community Documentation

MsgError.png Unvollständiger Artikel: dieser Artikel ist noch nicht sauber bearbeitet.

Bitte erweitere ihn und entferne erst anschliessend diesen Hinweis.

Dieses Modul erweitert Contao um die Möglichkeit über InsertTags Bilder aus einer Menalto Gallery 3 Installation einzufügen.

Erweiterungs-Übersicht
Name des Entwicklers Benjamin Meier
Entwickler Webseite http://www.meier-benjamin.de
Version der Erweiterung 0.0.1
Kompatibilität mit Contao Version 2.9
Link zum Extension Repository https://github.com/b2m/g3_rest/
Den Entwickler unterstützen http://www.amazon.de/registry/wishlist/2VDXQUM2K10V5/?sort=priority
Link zum Tracker https://github.com/b2m/g3_rest/issues


Achtung.png Achtung: Dieses Modul ist noch in einer aktiven Entwicklungsphase und deshalb nicht im ER-Repository zu finden und nicht für den produktiven Gebrauch zu empfehlen!


Die Gallery 3 ist die aktuelle Version des Gallery Project und bietet ein umfangreiches w:Representational_State_Transfer REST API an. Mit g3_rest ist es möglich verschiedene GET Requests auszuführen und somit die Daten aus der Gallery innerhalb von Contao zu verwenden.


Das REST API der Gallery kennt GET, PULL, DELETE und CREATE Requests. Somit lässt sich eine vollständige Anwendung schreiben, die Daten auslesen, löschen, hochladen… kann. Das Modul g3_rest beschränkt sich in der aktuellen Version jedoch auf GET Requests und kann somit nur Daten darstellen.

"Information"



Problematik des g3_rest Moduls

Die Installationen von Contao und Gallery werden in der aktuellen Version von g3_rest als getrennt betrachtet. Dies führt zu Problemen auf die an dieser Stelle aufmerksam gemacht werden soll. Hierfür ist jedoch ein grobes Verständnis des Verarbeitungsprozesses notwendig.


Verarbeitung von Bildern mit g3_rest

Die Gallery kann neben Bildern auch Videos verarbeiten und darstellen. Dies wird von g3_rest in der aktuellen Version jedoch nicht unterstützt.

"Information"


Die Bilder werden in Contao über einen InsertTag eingebunden. Hier sind einige Beispiele gelistet:

Einfaches Beispiel für Bilder oder Album

{{g3_rest::item?id=125}

Einbindung des Bildes/Albums mit der id 125 mit den Standardwerten

Ausführliches Beispiel für Bild

{{g3_rest::item?id=125&include=resize&height=400&alt=Alt Text für Bild&class=meine bildklassen&&link=orig&rel=lightbox[bilder]&caption=Meine Bildunterschrift&title=Die Beschreibung in der Lightbox&showlink=0&showtags=0&divclass=meine klassen}}

Einbindung des Bildes mit der id 125. Es wird die verkleinerte Version eingebunden und das Original in der Lightbox angezeigt. Die Anzeige eines Linkes zur Gallery und die Anzeige von Tags wird unterdrückt:

<div class=“image_container meine klassen“>
	<a href=“orig.jpg“ title=“Die Beschreibung in der Lightbox“ rel=“lightbox[bilder“>
		<img src=“resize.jpg“ alt=Alt Text für Bild“  width=600height=400 class=“meine bildklassen“ />
	</a>
	<div class=“caption-container“>
		Meine Bildunterschrift
	</div>
</div>

Bilder aus Album

{{g3_rest::item?id=5&count=7&type=photo}}

Einbindung von sieben Bildern des Albums mit der id 5

Unteralben aus Album (direkt)

{{g3_rest::item?id=5&type=album}}

Einbindung der direkten Unteralben des Albums mit der id 5

Unteralben aus Album (alle)

{{g3_rest::item?id=5&type=album&scope=all}}

Einbindung der aller Unteralben des Albums mit der id 5

Mehrere Bilder und Alben

{{g3_rest::items?id=2,5,8,11}}

Einbindung der Bilder/Alben mit den ids 2, 5, 7 und 11

Bilder und Alben über Tag

{{g3_rest::tag?id=5}}

Einbindung der Bilder/Alben, die mit dem Tag der id 5 versehen sind.

Bilder über Tag

{{g3_rest::tag?id=5&type=photo}}

Einbindung nur von Bildern, die mit dem Tag der id 5 versehen sind.


Es gibt in der Gallery noch weitere REST Quellen, wie Kommentare oder selbst erstellte Erweiterungen zur Schnittstelle. Diese werden in der aktuellen Version von g3_rest jedoch nicht unterstützt.

"Information"


Parameter für die InsertTags

Der WYSIWYG-Editor von Contao fügt (je nach Einstellung) automatisch p-Tags um alleine stehende InsertTags. Da g3_rest aber je nach Parameter einen div-Container zurückgibt sorgt dies für invalides HTML. Daher ist es eventuell notwendig den InsertTag in einen div-Tag zu schreiben um das automatische einbetten in einen p-Tag durch den WYSIWYG-Editor zu verhindern.

"Warnhinweis"


Von g3_rest verarbeitete Parameter für InsertTag

Von g3_rest verarbeitete Parameter für InsertTag
Name Erlaubte Werte Default Beschreibung Kommentar
id Zahl oder Komma separierte Liste von Zahlen 1 Die id des zu verarbeitenden Album oder Bildes. Wird eine Liste übergeben werden diese Elemente angezeigt.
width Zahlenwert leer Breite des eingebundenen Bildes Das Bild an sich wird nicht verkleinert, sondern lediglich ein HTML-Attribut gesetzt. Ist kein oder ein zu großer Wert gegeben wird der von Gallery übermittelte Wert übernommen.
height Zahlenwert leer Höhe des eingebundenen Bildes Das Bild an sich wird nicht verkleinert, sondern lediglich ein HTML-Attribut gesetzt. Ist kein oder ein zu großer Wert gegeben wird der von Gallery übermittelte Wert übernommen.
alt g3Title, g3Desc, eigener Text g3Title Text für alt-Attribut des Bildes
class eigener Text leer Text für das class-Attribut des Bildes Mehrere Klassen werden einfach durch Leerzeichen getrennt
caption none, g3Title, g3Desc, eigener Text g3Title Text für die Bildunterschrift Werden mehrere Bilder eingebunden, so wird der Titel (g3Title) bzw. die Beschreibung (d3Desc) des übergeordneten Albums angezeigt.
include thumb, resize, orig thumb Welches Bild soll eingebunden werden? Bei Alben wird nur das Vorschaubild (thumb) eingebunden.
link none, resize, orig, site resize Ziel des Bildlinks Dieser Link kann über den rel-Parameter auch in der Lightbox geöffnet werden. Bei Alben wird nur ein Link auf die Seite eingebunden.
title g3Title, g3Desc, eigener Text g3Desc Text für das title-Attribut des Bildlinks. Dieser Text wird als Bildbeschreibung in der Lightbox angezeigt.
rel eigener Text leer Text für das rel-Attribut des Bildlinks Erlaubt zum Beispiel das Öffnen einer größeren Bildversion per Lightbox
divclass eigener Text leer Text für das class-Attribut des umgebenden div-Containers Der div-Container wird nur erstellt, wenn diese Klasse übergeben wird, oder mehrere Bilder angezeigt werden, oder die Tags mit angezeigt werden, oder ein Link zur Gallery angezeigt werden soll.
showlink 0, 1 1 Soll ein Link zur Gallery unter dem Bild angezeigt werden? Werden mehrere Bilder eingebunden, so ist diese Option nicht verfügbar.
showtags 0, 1 1 Sollen die zum Album oder Bild zugehörigen Tags angezeigt werden? Werden mehrere Bilder eingebunden, so so werden die Tags aller Bilder zusammen angezeigt.
count Zahl leer Anzahl der anzuzeigenden Elemente

Von g3_rest an Gallery weiter gegebene Parameter für InsertTag

Es stehen außerdem einige Parameter des REST API zur Verfügung (siehe auch Gallery Dokumentation):

Von g3_rest an Gallery weiter gegebene Parameter für InsertTag
Name Erlaubte Werte Default Beschreibung Kommentar
num Zahlen 100 Anzahl der Inhaltselemente
start Zahlen 0 Anzahl der zu überspringenden Elemente Zusammen mit dem num-Parameter lassen sich somit zum Beispiel die Elemente 150-200 eines Albums anzeigen.
scope direct, all direct Sollen nur die direkten Elemente eines Albums verarbeitet werden, oder alle Elemente und Unterelemente eines Albums Ist dieser Parameter gesetzt werden automatisch die Elemente des per ID übergebenen Albums angezeigt. Dies kann bei größeren Installtionen zu Problemen führen.
random true leer Suche ein zufälliges Element Ist dieser Parameter gesetzt wird automatisch ein Elemente des per ID übergebenen Albums per Zufall ausgewählt. Dies funktioniert nicht bei der Auswahl über einen Tag, oder wenn mehrere ids übergeben werden.
name eigener Text leer Beschränke auf Elemente die den Text im Namen haben. Ist dieser Parameter gesetzt werden automatisch die Elemente des per ID übergebenen Albums angezeigt. Dies funktioniert nicht bei der Auswahl über einen Tag, oder wenn mehrere ids übergeben werden.
type album, photo leer Beschränke auf Elemente des Typs Album oder Photo Ist dieser Parameter gesetzt werden automatisch die Elemente des per ID übergebenen Albums angezeigt.


Nicht alle Parameter sind miteinander kombinierbar und auch unterstützen nicht alle REST Quellen sämtliche Parameter. Bei der Menge an angebotenen Optionen ist es durchaus möglich, dass es zu einem unvorhergesehenem Verhalten kommt!

"Wichtig"


Ansichten
Meine Werkzeuge

Contao Community Documentation

<TheTril> Stateless Template, Stateless Elements, Stateless Renderer :)
<TheTril> everything is stateles :D
<leo-unglaub> TheTril: genau wie Ed Snowden *g*

Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge