So lesen Sie Inhaltsdaten über ein Listentemplate aus

Dieser Artikel beschreibt, wie Sie innerhalb einer Liste Daten einlesen, die aus dem Inhaltsbereich der eingelesenen Dateien stammen.

Über Weblication® Listentemplates stehen die Inhalte des wd:extension Blockes der eingelesenen Dateien zur Verfügung.

Um auf andere Daten aus dem Inhaltsbereich einer Seite (z.B. Überschriften, Text, etc. aus content1) zugreifen zu können, müssen Sie diese Daten direkt auslesen (z.B. über die xPath-Funktion document oder WSL).

Die BASE liefert übrigens mit der default.wFilelist.php und der full.wFilelist.php entsprechende Umsetzungen.

Nachfolgend Beispiele aus bestehenden Listentemplates der BASE bzw. weitere Beispiele:

Beispiel 1: Auszug aus default.wFilelist.php mit Auslesen des Beschreibungstextes der Dokumentenerweiterung

...
<p class="listEntryDescription"><xsl:value-of select="wd:extension/wd:meta/wd:description/text()"/>
...

Beispiel 2: Auszug aus xxx.wFilelist.php mit Auslesen des Inhaltstextes über die xPath-Funktion document

...
<p class="listEntryDescription"><xsl:value-of disable-output-escaping="yes" select="document(concat($wDocumentRoot,@path))/wd:document/wd:group[@id='content1']/wd:item/wd:fragment[@id='text']/text()"/></p>
...
<!--
Auslesen eines bestimmten Textfeldes,
z.B. 2. Textfeld innerhalb eines Containers:
-->
...
<p class="listEntryDescription"><xsl:value-of disable-output-escaping="yes" select="document(concat($wDocumentRoot,@path))/wd:document/wd:group[@id='content1']/wd:item[@type='container.standard']/wd:group[@id='column2']/wd:item[2]/wd:fragment[@id='text']/text()"/></p>
...

Beispiel 3: Auszug aus xxx.wFilelist.php mit Auslesen des Inhaltstextes über wsl:documentData

...
<!-- nur für unformatierten Text zu empfehlen, ansonsten siehe documentDataAsHTML -->
<p class="listEntryDescription"><wsl:documentData document="{@path}" data="/wd:document/wd:group[@id='content1']/wd:item/wd:fragment[@id='text']/text()" /></p>
...

Beispiel 4: Auszug aus xxx.wFilelist.php mit Auslesen des Inhaltstextes über wsl:documentDataAsHTML

...
<!--
über wsl:documentDataAsHTML wird vom Inhaltstext eingelesener HTML-Code
entsprechend formatiert umgesetzt
-->
<p class="listEntryDescription"><wsl:documentDataAsHTML document="{@path}" data="/wd:document/wd:group[@id='content1']/wd:item/wd:fragment[@id='text']/text()" /></p>
...