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>
...
FAQs are only visible for Weblication ai search and editors!
Wie kann ich in einer Liste Daten aus dem Inhaltsbereich eingelesener Dateien auslesen?
Über Listentemplates können Sie in einer Liste auf den Inhaltsbereich der eingelesenen Dateien zugreifen. Dafür müssen die gewünschten Daten direkt ausgelesen werden, z.B. über die xPath-Funktion **document** oder über **WSL**.
Welche Inhalte stehen mir über Weblication® Listentemplates direkt aus der wd:extension zur Verfügung?
Über Weblication® Listentemplates stehen die Inhalte des **wd:extension**-Blocks der eingelesenen Dateien zur Verfügung.
Wie kann ich auf andere Daten aus dem Inhaltsbereich einer Seite (z.B. Überschriften, Text) zugreifen?
Diese Daten werden nicht automatisch über den wd:extension-Block bereitgestellt. Sie müssen sie daher direkt auslesen, z.B. per xPath-Funktion **document** oder über **WSL** (z.B. wsl:documentData bzw. wsl:documentDataAsHTML).
Wie sieht ein Beispiel aus, um den Beschreibungstext aus default.wFilelist.php zu übernehmen?
Der Beschreibungstext kann über den wd:extension-Bereich ausgelesen werden, z.B. mit einem XPath-Ausdruck wie: <code class="codeInline">wd:extension/wd:meta/wd:description/text()</code> (eingebunden in den Template-Ausgabe-Bereich).
Wie kann ich den Inhaltstext aus content1 mittels xPath über document auslesen?
Sie können den Inhaltstext über **document(concat($wDocumentRoot,@path))** sowie einen XPath auf die gewünschte Struktur aus content1 auslesen, z.B. entlang: <code class="codeInline">/wd:document/wd:group[@id='content1']/wd:item/wd:fragment[@id='text']/text()</code>.
Wie kann ich innerhalb von verschachtelten Containern einen konkreten Textfeld-Eintrag (z.B. 2. Textfeld) auslesen?
Nutzen Sie einen XPath, der die Struktur der Container und den gewünschten Index berücksichtigt, z.B. im Muster: <code class="codeInline">/wd:document/wd:group[@id='content1']/wd:item[@type='container.standard']/wd:group[@id='column2']/wd:item[2]/wd:fragment[@id='text']/text()</code>.
Wofür eignet sich wsl:documentData beim Auslesen von unformatiertem Text?
**wsl:documentData** ist nur für **unformatierten Text** zu empfehlen. Damit lesen Sie den Text aus dem Inhaltsbereich (z.B. content1/text) als reinen Text ein.
Wie lese ich formatierten Inhalt mit wsl:documentDataAsHTML ein?
Mit **wsl:documentDataAsHTML** wird der aus dem Inhaltstext eingelesene **HTML-Code** entsprechend formatiert umgesetzt. Sie geben dabei ebenfalls den Pfad zur passenden Textquelle an, z.B. wie in dem Beispiel auf <code class="codeInline">/wd:document/wd:group[@id='content1']/wd:item/wd:fragment[@id='text']/text()</code>.