Veröffentlichungsdatum: 27. Januar 2010
Änderungsdatum: 07. Januar 2014
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).
<categories> ... <category text="Kunden" id="1177055180125" group="" title_de="Kunden" title_en="Customers"/> ... </categories>
... <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, '/[IHR-GLOBALES-PROJEKT]/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.).
... <xsl:variable name="wLanguageProject"><xsl:value-of select="php:functionString('wProjectCur::getLanguage', $wProjectPath)" /></xsl:variable> ...
... <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, '/[IHR-GLOBALES-PROJEKT]/wGlobal/content/categories/standard.wCategories.php'))//category[@id = $categoryID]/@*[name() = concat('title_', $wLanguageProject)]" />, </xsl:for-each> ...