Veröffentlichungsdatum: 10. Mai 2010
Änderungsdatum: 30. Mai 2012
pflegekommentar editor bedingt dynamisch wert attribut element
Dieser Artikel beschreibt, wie Sie Werte innerhalb von Attributen dynamisch setzen, um den Pflegekommentar in Abhängigkeit bestimmter Kriterien zu nutzen.
Werte innerhalb von Pflegetag-Attributen können Sie dynamisch halten, um je nach Bedingung innerhalb der Bearbeitung die Handhabung der Strukturelemente bzw. -gruppen zu beeinflussen.
Folgende Beispiele führen an, wie Sie den Wert des display-Attributes zum Gruppen-Pflegetag (web:group:start) dynamisch ermitteln. Beide Beispiele haben das gleiche Ziel und nutzen nur andere Wege. Beispiel 1 verwendet lediglich XSL zur Definition und Einlesen der Variable. Beispiel 2 nutzt hierfür zusätzlich die PHP-Framework-Funktionen "setGlobalValue" und "getGlobalValue" der wEnv-Klasse.
Im Beispiel wird abhängig davon, ob innerhalb der Gruppe schon ein Element vorhanden ist, die Möglichkeit ausgeblendet, weitere Elemente in der Gruppe einzufügen.
... <!-- Hier werden die Inhaltselemente eingebunden --> <xsl:template match="wd:group[@id='content2']"> <xsl:variable name="displayType"><xsl:choose><xsl:when test="count(wd:item) = 0">user</xsl:when><xsl:otherwise>0</xsl:otherwise></xsl:choose></xsl:variable> <!-- web:group:start name="content2" caption="" display="<xsl:value-of select="$displayType" />"--> <xsl:apply-templates select="wd:item"/> <!-- web:group:stop --> </xsl:template> ...
... <!-- Hier werden die Inhaltselemente eingebunden --> <xsl:template match="wd:group[@id='content2']"> <xsl:variable name="displayType"><xsl:choose><xsl:when test="count(wd:item) = 0"><xsl:value-of select="php:function('wEnv::setGlobalValue', 'displayType', 'user')" /></xsl:when><xsl:otherwise><xsl:value-of select="php:function('wEnv::setGlobalValue', 'displayType', '0')" /></xsl:otherwise></xsl:choose></xsl:variable> <!-- web:group:start name="content2" caption="" display="<xsl:value-of select="php:function('wEnv::getGlobalValue', 'displayType', $displayType)" />"--> <xsl:apply-templates select="wd:item"/> <!-- web:group:stop --> </xsl:template> ...
Folgendes Beispiel 3 führt an, wie Sie ab der Version 005.046.013.000 Elemente von der Auswahl ausschliessen können, wenn eine bestimmte Bedingung zutrifft. Im Beispiel wird geprüft, ob das Bildelement bereits einmal (oder mehr) in der Seite vorkommt. Ist das der Fall, wird über die Variable das Bildelement (picture.standard.wItem.php) in das itemsExlude-Attribut geschrieben, womit das Bildelement nicht mehr auswählbar ist.
... <!-- Hier werden die Inhaltselemente eingebunden --> <xsl:template match="wd:group[@id='content1']"> <xsl:variable name="excludedItems"><xsl:if test="count(wd:item[@type ='picture.standard']) >= 1">picture.standard</xsl:if></xsl:variable> <!-- web:group:start name="content1" caption="" display="user" itemsExclude="<xsl:value-of select="$excludedItems" />"--> <xsl:apply-templates select="wd:item"/> <!-- web:group:stop --> </xsl:template> ...