So greifen Sie auf Attributwerte der Kategoriendatei zu

27. Jan 2010

Dieser Artikel beschreibt, wie Sie z.B. aus einem Listentemplate heraus auf Attributwerte (z.B. Text) aus einer Kategoriendatei zugreifen.

Um über eine Liste zu den eingelesenen Dateien den Kategorienamen auszugeben, können Sie mittels XSL durch Auslesen der Kategorien-ID der entsprechenden Seite den Wert des zugehörigen text-Attributes auslesen. Somit erhalten Sie den Namen (z.B. Kunden) zu der entsprechenden id der Kategorie (z.B. 1177055180125).

Beispiel: Auszug aus der standard.wCategories.php eines Projektes

<categories>
  ...
  <category text="Kunden" id="1177055180125" group="" title_de="Kunden" title_en="Customers"/>
  ...
</categories>

Beispiel: Auszug aus der default.wFilelist.php

...
  <xsl:for-each select="wd:extension//wd:categories/wd:category">
    <xsl:variable name="categoryID"><xsl:value-of select="text()"/></xsl:variable>
    <xsl:value-of select="document(concat($wDocumentRoot, '/IhrGlobalesProjekt/wGlobal/content/categories/standard.wCategories.php'))//category[@id = $categoryID]/@text" />,
  </xsl:for-each>
...

Nachfolgend ein Beispiel, das aufzeigt, wie das Zeilentemplate mehrere Sprachen hinsichtlich eines Kategorientextes unterstützen kann. Hierzu wird auf die global definierte wLanguageProject-Variable zurückgegriffen. Diese bestimmt dann, welches Textattribut zur Anzeige des Kategorientextes verwendet werden soll (title_de, title_en, etc.).

Beispiel: Auszug aus der standard.wParams.php mit Sprachvariable

...
<xsl:variable name="wLanguageProject"><xsl:value-of select="php:functionString('wProjectCur::getLanguage', $wProjectPath)" /></xsl:variable>
...

Beispiel: Auszug aus der default.wFilelist.php für Sprachbenennung

...
  <xsl:for-each select="wd:extension//wd:categories/wd:category">
    <xsl:variable name="categoryID"><xsl:value-of select="text()"/></xsl:variable>
    <xsl:value-of select="document(concat($wDocumentRoot, '/IhrGlobalesProjekt/wGlobal/content/categories/standard.wCategories.php'))//category[@id = $categoryID]/@*[name() = concat('title_', $wLanguageProject)]" />,
  </xsl:for-each>
...

Ähnliche Seiten

    Entwicklerbereich Weblication® CMS - © Scholl Communications AG