Kategorien - Aufbau und Verwendung

Die Kategorien in Weblication® dienen der Strukturierung und Gruppierung von XML- oder Binärdateien. Auf diese Weise können Inhalte thematisch gegliedert werden und Beziehungen zwischen Dokumenten hergestellt werden.

In der BASE werden einige Kategoriendateien mitgeliefert. In dieser Datei werden die zentral definierten Kategorien im XML-Format gespeichert und bei der Seitenbearbeitung und in der Konfiguration einiger Weblics bereitgestellt:

/$globalesProjekt/wGlobal/content/categories/*.wCategories.php 

Beispielhafter Aufbau der zentralen Kategoriendatei standard.wCategories.php

<categories>
  <wd:extension type="weblication" version="5.0">
    <wd:meta>
      <wd:title>Standardkategorie</wd:title>
      <wd:description/>
      <wd:keywords/>
      <wd:thumbnail/>
      <wd:robots value=""/>
      <wd:modification name="" time=""/>
      <wd:creation name="" time=""/>
    </wd:meta>

    <wd:status>
      <wd:online from="" status="on" to=""/>
      <wd:type value=""/>
    </wd:status>

    <wd:permissions>
      <wd:owner name="admin" role=""/>
    </wd:permissions>

      <wd:cache expires="{wGetValueOfDefaultExtension()}"/>
  </wd:extension>
  
  <category text="Unternehmen"  id="1177055143578" group=""/>
  <category text="Mitarbeiter"  id="1177055149718" group=""/>
  <category text="Kunden"       id="1177055180125" group=""/>
</categories>
 
 

Verwendung und Einsatzgebiete von Kategorien

Einfachstes Beispiel für die Verwendung von Kategorien ist die gefilterte Darstellung von Einträgen in einer Übersichtsliste. Bei der Verwendung einer kategorisierten Liste kann die Menge der angezeigten Einträge nach Kategorien gefiltert werden. So können beispielsweise nur Dateien angezeigt werden, die einer oder mehreren bestimmten Kategorien zugeordnet sind.

Ein weiteres Beispiel ist die Herstellung von Beziehungen zwischen mehreren Dokumenten: So können Sie auf einer Seite über eine kategorisierte Listenfunktion alle weiteren Seiten derselben Kategorie(n) anzeigen lassen.

 
 

Kategorienzuweisung in Dateien

Die Zuweisung einer Datei zu einer oder mehreren Kategorien erfolgt über die Bearbeitung im Weblication® Editor. Hierzu wird in aller Regel die Pflegemaske des Metadatenbereiches im Kopf der Bearbeitungsmaske um den entsprechenden Eintrag erweitert:

Bearbeitungsbereich für Kategorien im XSLT-Stylesheet

<div class="wEditorExtensionLabel">Kategorien</div>
  <div class="wEditorExtensionValue">
    <!--web:text:start editor="categories" pathCategories="/deGlobal/wGlobal/content/categories/standard.wCategories.php" multiple="1"--><xsl:value-of select="/wd:document/wd:extension/wd:meta/wd:categories"/><!--web:text:stop-->
  </div>

Hierbei wird über den Pflegetag web:text:start in Verbindung mit der Angabe des editor="categories" und der Pfadangabe der zugrundeliegenden Kategoriendatei pathCategories="/pfad/zur/Kategoriendatei.php" der Kategorieneditor in die Maske integriert. 

Weitere Informationen zu Pflegetags finden Sie hier:
Kategorien-Pflegetags

Die Speicherung der Kategorienzuweisung erfolgt im Metadatenbereich der Seite. Jede zugewiesene Kategorie erhält einen Eintrag in der Form von:

<wd:categories>
  <wd:category>$KategorienID</wd:category>
</wd:categories>

Speicherung der Kategorienzuordnung in der Inhaltsseite

<wd:extension type="weblication" version="5.0">
    <wd:meta>
      <wd:title>Seitentitel</wd:title>
      <wd:description>Beschreibung der Seite</wd:description>
      <wd:keywords>Weblication®</wd:keywords>
      <wd:categories>
        <wd:category>1177055143578</wd:category>
        <wd:category>1177055149718</wd:category>
      </wd:categories>
      <wd:topics>
        <wd:topic/>
      </wd:topics>
      <wd:thumbnail src=""/>
      <wd:language/>
      <wd:navpoint path="{wGetValueOfDefaultExtension()}"/>
      <wd:robots value="index"/>
      <wd:modification name="admin" time="1156923277"/>
      <wd:creation name="admin" time="1156312896"/>
    </wd:meta>
    [...]
      <wd:cache expires="{wGetValueOfDefaultExtension()}"/>
  </wd:extension>

Bitte beachten Sie, dass hierbei die Zuordnung ausschliesslich über die ID der Kategorie erfolgt. 
Der zugehörige Text wird aus der zentralen Kategoriendatei referenziert.

Beispielhafter Code zur Ausgabe des Textes einer Kategorie, von der nur die ID bekannt ist

// Ermitteln der KategorienID aus dem aktuellen Dokument
// Setzen der XSL-Variable currentCategoryId
// Zuweisung der aktuellen KategorienID

<xsl:variable name="currentCategoryId"><xsl:value-of select="/wd:document/wd:extension/wd:meta/wd:categories/wd:category"/></xsl:variable>


// Zugriff auf die Kategoriendatei mithilfe des xPath-Befehls document
// Zugriff auf den category-Knoten mit der ID der ueber die Variable uebermittelten ID

<xsl:value-of select="document(concat($wDocumentRoot,'/de/wGlobal/content/categories/categories.php'))//category[@id = $currentCategoryId]/@text "/>

Entwicklerbereich Weblication® CMS - © Scholl Communications AG