So lesen Sie den Inhalt von Dateien in einer Liste ein

Dieser Artikel beschreibt, wie Sie den Seiteninhalt der aufzulistenden Dateien in die Listenübersicht einlesen.

Um den Seiteninhalt von Dateien in eine Liste einzulesen, müssen Sie im Listentemplate der Liste (z.B.: default.wFilelist.php) die zugehörigen Elemente mit einlesen. Dann können Sie über einen xsl:apply-templates Aufruf die Elemente aus z.B. content1 in die Listenübersicht einlesen.

Im Kopf des Listentemplates müssen Sie hierzu die entsprechenden Namensräume angeben und die globale Includedatei sowie die Elemente-Templates inkludieren! Eine Vorlage finden Sie übrigens im Weblic® Liste im Zeilentemplate full.wFilelist.php!

Beispiel: Auszug aus dem Zeilentemplate full.wFilelist.php

<?php $version="1.0"; $encoding="UTF-8"; ?>
<?php exit; ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:wsl="http://weblication.de/5.0/wsl" xmlns:wslPre="http://weblication.de/5.0/wsl" xmlns:wd="http://weblication.de/5.0/wd" xmlns:php="http://php.net/xsl" exclude-result-prefixes="wd wsl php" version="1.0">
  <xsl:output method="xml" indent="yes" omit-xml-declaration="no" encoding="UTF-8"/>

  <!-- Hilfe zum Aufbau einer Zeilenvorlage finden Sie unter: http://grid.weblication.de -->

  <!-- Dieser Block enthält die Information, die im Struktureditor bei der Auswahl der Zeilenvorlage angezeigt wird -->
  <wd:extension type="weblication" version="5.0" uid="7641dc2874e3cb66d662323ab0091812">  
    <wd:meta>
      <wd:title>Vollständige Darstellung</wd:title>
      <wd:title_en>Full view</wd:title_en>      
      <wd:description/>
    <wd:modification name="admin" time="1280351935"/></wd:meta>
    <wd:version value="15"/>
      <wd:cache expires="{wGetValueOfDefaultExtension()}"/>
  </wd:extension> 
  <wd:editmaskExtended>
    <![CDATA[
      <div class="wEditorElementValue"><!-- web:text:start editor="checkbox" values="1" texts="<xsl:value-of select="php:functionString('wTexts::showTextUser', 'Show only first text', 'Nur das erste Textelement anzeigen', 'Afficher seulement le premier élément texte')"/>"--><xsl:value-of select="wd:fragment[@id='showOnlyFirstText']/text()"/><!-- web:text:stop --></div>
      <div class="wEditorElementValue"><!-- web:text:start editor="checkbox" values="1" texts="<xsl:value-of select="php:functionString('wTexts::showTextUser', 'Show number comments', 'Anzahl der Kommentare anzeigen', 'Afficher nombre de commentaires')"/>"--><xsl:value-of select="wd:fragment[@id='showNumberComments']/text()"/><!-- web:text:stop --></div>
      <xsl:if test="php:functionString('wVariables::getValue', 'tweet_news_active', '/[IHR-LAYOUT-PROJEKT]') = 'yes'">
        <div class="wEditorElementValue"><!-- web:text:start editor="checkbox" values="1" texts="<xsl:value-of select="php:functionString('wTexts::showTextUser', 'Show botton to publish on twitter', 'Schaltfläche, um auf Twitter zu veröffentlichen anzeigen', 'Afficher bouton pour publier dans twitter')"/>"--><xsl:value-of select="wd:fragment[@id='showFacebookPublisher']/text()"/><!-- web:text:stop --></div>
      </xsl:if>
      <xsl:if test="php:functionString('wVariables::getValue', 'facebook_news_active', '/[IHR-LAYOUT-PROJEKT]') = 'yes'">
        <div class="wEditorElementValue"><!-- web:text:start editor="checkbox" values="1" texts="<xsl:value-of select="php:functionString('wTexts::showTextUser', 'Show button to publish on Facebook', 'Schaltfläche, um auf Facebook zu veröffentlichen anzeigen', 'Afficher bouton pour publier dans facebook')"/>"--><xsl:value-of select="wd:fragment[@id='showTwitterPublisher']/text()"/><!-- web:text:stop --></div>
      </xsl:if>
    ]]>
  </wd:editmaskExtended> 

  <wslPre:includeXsltItemsProject project="/[IHR-LAYOUT-PROJEKT]" useIndex="0"/>

  <!-- Zentrale Funktionen, Templates und Skripte einbinden -->
  <xsl:include href="$XSLTPRE[wDocumentRoot]/[IHR-LAYOUT-PROJEKT]/wGlobal/layout/templates/misc/includes.global.php"/>

  <!-- Hier wird die Seitennavigation zum Blättern in der Liste eingebunden -->
  <xsl:include href="$XSLTPRE[wDocumentRoot]/[IHR-LAYOUT-PROJEKT]/wGlobal/layout/templates/misc/pagenavi.global.php"/>

  <!-- Hier werden zentral die benötigten System-Parameter eingebunden -->
  <xsl:include href="$XSLTPRE[wDocumentRoot]/[IHR-LAYOUT-PROJEKT]/wGlobal/layout/templates/misc/standard.wParams.php"/>

  <xsl:template match="/wFilelist">
  ...
  ...
              <xsl:choose>
                <xsl:when test="/wFilelist/wData/data[@name = 'showOnlyFirstText']/text() = '1'">
                  <xsl:apply-templates select="document(concat($wDocumentRoot, @path))/wd:document/wd:group[@id = 'content1']/wd:item[@type = 'text.wysiwyg'][1]"/>
                </xsl:when>
                <xsl:otherwise>
                  <xsl:apply-templates select="document(concat($wDocumentRoot, @path))/wd:document/wd:group[@id = 'content1']"/>
                </xsl:otherwise>
              </xsl:choose>
...
...
Ersetzen Sie im Quelltextbeispiel den Pfad /[IHR-LAYOUT-PROJEKT] durch den globalen Projektpfad Ihres Projektes (z.B. /de-wGlobal)!
Alternativ installieren Sie einfach das Liste-Weblic®, um die Zeilenvorlage full.wFilelist.php nutzen zu können.