Wie reiche ich Parameter via URL durch das Gadget?
Ankündigung
Einklappen
Keine Ankündigung bisher.
Parameter Übergabe
Einklappen
X
-
1. Der erste Aufruf des Gadgets erfolgt über die standalone - index.xsl. Hier muss man die übergebenen Parameter in variablen speichern z.B. so.:
<xsl:variable name="parametersjsontemp"><xsl:for-each select="//data/parameters/parameter">{"<xsl:value-of select="@name"/>":"<xsl:value-of select="text()"/>"},</xsl:for-each></xsl:variable>
<xsl:variable name="parametersjson">[<xsl:value-of select="substring($parametersjsontemp, 1, string-length($parametersjsontemp)-1)" />]</xsl:variable>
2. Weiter unten in der standalone - index.xsl findet man dann meist ein <inchorus-gadget> tag. Hier wird das Gadget erneut im "integrated mode" initiiert. An dieser Stelle verwendet man die obige variable um die Parameter an die integrated index.xsl zu übergeben. Das gadget tag sieht dann meist so aus:
<inchorus-gadget>
<xsl:attribute name="id">-1</xsl:attribute>
<xsl:attribute name="version">1.0.1</xsl:attribute>
<xsl:attribute name="path">/<xsl:value-of select="$gadgetpath"/></xsl:attribute>
<xsl:attribute name="displaymode"><xsl:value-of select="$displaymode"/></xsl:attribute>
<xsl:attribute name="integrationmode">integrated</xsl:attribute>
<xsl:attribute name="parameters"><xsl:value-of select="$parametersjson"/></xsl:attribute>
</inchorus-gadget>
3. Um die Parameter dann weiter durchzureichen, einfach als variable aufnehmen:
<xsl:variable name="customerid" select="//parameters/parameter[@name='customerid']" />
Und als parameter an die componente weitergeben:
<xsl:attribute name="parameters">[{"customerid":"<xsl:value-of select="$customerid"/>"}]</xsl:attribute>
VG.
TG
Kommentar