Seiten-Presenter¶
Mit dem Page-Presenter lassen sich Inhaltsseiten umsetzen. Im Tutoral Beispielseite anlegen kann man die einzelnen Schritte zum Anlegen einer Seite nachvollziehen.
Inhalte¶
In einen Container können unterschiedliche Inhalte eingefügt werden. Inhalte werden über einen der Tags plugin
, extern
,
object
, content
, file
, route
definiert.
Plugin¶
Die Plugin-Konfiguration hängt von der jeweiligen Pluginklasse ab. Eine detailierte Beschreibung der Plugins findet sich hier.
<container placeholder="content">
<plugin class="/namespace/class">
<!-- pluginconfig -->
</plugin>
</container>
Externe Datei¶
Über den Tag extern
lassen sich externe Dateien einbinden. Die URL wird über das
Attribute url
angegeben. Werden weitere Parameter in der aufrufenden URL
übergeben, so werden diese an die URL angehängt.
<container placeholder="content">
<extern url="http://www.example.com/" />
</container>
Objekt¶
Ein Objekt kann direkt eingebunden werden. Das Objekt wird dabei über die Methode Assembly::getObject()
geladen.
Als Attribute wird die uuid
und die Klasse class
werwartet.
<container placeholder="content">
<object uuid="12435-3243-2343-12322-23232" class="\namespace\myClass" />
</container>
Statischer Inhalt¶
Der Inhalt der über den content
-Tag angegeben wird, wird direkt in den Container eingefügt.
Wird HTML definiert, so muss der Inhalt in ein CDATA-Element gepackt werden.
<container placeholder="content">
<content>Mein Inhalt für diese Seite</content>
</container>
Inhalt einer Datei¶
Inhalte einer Datei werden eingelesen und an der betreffenden Stelle ausgegeben.
<container placeholder="content">
<file path="/to/resource" name="file.html"></file>
</container>
Inhalt eines Verzeichnisses¶
Inhalte eines Verzeichnisses werden rekursiv eingelesen und an der betreffenden Stelle ausgegeben. Über das pattern kann ein Filter übergeben werden. In dem folgenden Beispiel werden nur HTML-Dateien eingelesen.
Hinweis
Die Sortierung der Dateien im Verzeichnis wird über ksort
des Dateinamens realsiert.
<container placeholder="content">
<directory path="/to/resource" pattern="\.html$"></directory>
</container>
Ergebnis einer Route¶
Die im Attribute id
angegeben Route wird aufgerufen und das Ergebnis als Inhalt verwendet.
<container placeholder="content">
<route id="my-route">
<parameters>
<parameter type="integer" name="name">myName</parameter>
<parameter type="string" name="format">jpg</parameter>
</parameters>
</route>
</container>