Listenerweiterungen

Listenerweiterungen sind einzelne XSLT-Templates, welche über CSS-Only in Listen und Bannern eingebunden werden, um diese so mit beliebigen Inhalten zu erweitern.

In diesem Artikel wurden bereits die bisherigen Möglichkeiten beschrieben, wie man über CSS-Only beliebige Objektdaten in Listen ausgibt:

  • Neue Objektdaten über CSS-Only ergänzen 
  • Einfache Formatierungen über CSS-Only Dekoratoren umsetzen 
  • Beliebige Ausgaben über das Objekt-Template mit XSLT erstellen.

Diese wurden nun um Listenerweiterungen ergänzt, welche als eigene XSLT-Templates im Unterverzeichnis lists/extensions abliegen und über CSS-Only in beliebigen Listen und Bannern eingebunden werden können. Sofern das Unterverzeichnis noch nicht besteht, installieren Sie das Weblic® "Listenerweiterungen" über das Weblic-Portal.

Der Vorteil von Listenerweiterungen besteht vor allem darin, dass die Zeilen-Templates beim Ergänzen eigener Inhalte nicht angepasst werden müssen.

Beispielhaftes Einbinden der Listenerweiterung zur Anzeige eines Youtube-Videos

-w-displayElements:listEntryExtensionYoutube=yes,...

Pfad des Templates
listEntryCategoriesTitleAsText.wListExtension.php

Name des Templates
listEntryExtensionCategoriesTitleAsText

Aufruf im CSS
listEntryExtensionCategoriesTitleAsText=yes

Aktuell im Standard verfügbare Listenerweiterungen

Aktuell werden im Standard bereits folgende Listenerweiterungen angeboten:

  • Kategorien als Filter anzeigen
  • Kategorien als Text anzeigen
  • Kategorien als Icon anzeigen
  • Vorschaubild
  • Button, um auf Facebook zu teilen
  • Button, um auf Twitter zu teilen
  • Button, um auf Google+ zu teilen
  • Youtube Video
  • Gesamten Inhalt der Datei anzeigen
  • Datum als Kalenderblatt anzeigen
  • PDF als Vorschaubild anzeigen
  • Copyright Informationen des Bildes

Weitere Beispiele

Beispiel 1: Unterschiedliche Zusatzangaben zu Objekt-Typen

Dieses Beispiel führt an, wie Sie durch die Listenerweiterung abhängig vom Objekt-Typ eine Seite Zusatzangaben hinzufügen.
Dies können in einer Liste mit gemischten Objekt-Typen z.B. Symbole für "News" oder "Termin" sein, um die unterschiedlichen Meldungen dem Seitenbesucher direkt aufzuzeigen.

Beispiel: Auszug aus individueller Listenerweiterung listEntryObjects.wListExtension.php

  <!-- 

    Objekt-Details einbinden

    Einbindbar ist die Erweiterung über CSS-only in der CSS-Variante wie folgt:
    -w-displayElements:listEntryExtensionObjects=yes,...

  -->
  
  <xsl:template name="listEntryExtensionObjects">
    
    <!--<xsl:call-template name="listEntryThumbnail"/>-->

    <xsl:choose>
      <xsl:when test="wd:stat/@extension = 'php' and wd:extension/wd:object[@type = 'default']">
        <div class="listEntrySite">

          <!-- Objekt-Details -->
          <wsl:php>

            <![CDATA[
              print '[ STANDARD-Seite ]';
            ]]>
          </wsl:php>        
        </div>

      </xsl:when>
      <xsl:when test="wd:extension/wd:object[@type = 'news']">
        <div class="listEntryObjectNews">

          <!-- Objekt-Details -->
          <wsl:php>

            <![CDATA[
              print '[ NEWS-Objekt ]';
            ]]>
          </wsl:php>        
        </div>

      </xsl:when>
      <xsl:when test="wd:extension/wd:object[@type = 'eventMulti']">
        <div class="listEntryObjectEventMulti">

          <!-- Objekt-Details -->
          <wsl:php>

            <![CDATA[
              print '[ Veranstaltungs-Objekt ]';
            ]]>
          </wsl:php>        
        </div>

      </xsl:when>
      <xsl:when test="wd:extension/wd:object[@type = 'shopProduct']">
        <div class="listEntryObjectShopProduct">

          <!-- Objekt-Details -->
          <wsl:php>

            <![CDATA[
              print '[ Shop-Produkt-Objekt ]';
            ]]>
          </wsl:php>        
        </div>

      </xsl:when>
      <xsl:otherwise/>
    </xsl:choose>
  </xsl:template>