Umbraco ermöglicht es XSLT-Macros zu erstellen. In diesen können Variablen mit Werten belegt werden. Nun benötigt man häufig IDs von Seiten um bspw. per
<a href="{umbraco.library:NiceUrl($IdEinerSeite)}">
zu verlinken.
$IdEinerSeite
soll nun per
<xsl:variable name="IdEinerSeite" select="Eigenschaft"/>
zugewiesen werden. Soweit so gut. Doch unerwarteter Weise erscheint die Fehlermeldung
System.OverflowException: Value was either too large or too small for an Int32
, obwohl tatsächlich eine korrekte Nummer in $IdEinerSeite enthalten ist.
Die Lösung ist einfach und mutet kurios an:
<xsl:if test="Eigenschaft!= '' "> <xsl:variable name="IdeinerSeite" select="Eigenschaft"/> <a href="{umbraco.library:NiceUrl($IdEinerSeite) }">Mehr Info</a> </xsl:if>
Allein der Test auf das Vorhandensein eines Wertes verhindert bereits die Fehlermeldung.