Announcement

Collapse
No announcement yet.

3 verschiedene Werte mit Bildern verknüpfen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • 3 verschiedene Werte mit Bildern verknüpfen

    Hallo Miteinander,

    Ich hab ein Problem. Ich muss für mein Geschäft xslt lernen und habe 2 Aufgaben bekommen die ich dringend lösen muss! Jedoch komm ich einfach nicht weiter.
    Einfach gesagt ich hab ein Formular wo man verschiedene Aktien Details einfügen kann, unter anderem auch das Risiko.
    Beim Risiko kann man drei Werte auswählen (hoch, mittel, niedrig)!

    Jetzt will ich das je nach Wert zb. Mittel ein bestimmtes Bild ausgegeben wird....

    Hier mein Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:udt="DotNetNuke/UserDefinedTable" exclude-result-prefixes="udt">
    <xslutput method="xml" indent="yes" omit-xml-declaration="yes" />
    <!--
    This prefix is used to generate module specific query strings
    Each querystring or form value that starts with udt_{ModuleId}_param
    will be added as parameter starting with param
    -->
    <xsl:variable name="prefix_param">udt_<xsl:value-of select="//udt:Context/udt:ModuleId" />_param</xsl:variable>
    <xslaram name="param_detail" />
    <xsl:template match="udtata" mode="detail">
    <table width="500">
    <tr>
    <td class="normalBold" style="padding-bottom:20px; width: 100px;">zu Fonds:</td>
    <td class="Normal" style="padding-bottom:20px; width:400px;"><xsl:value-of select="udt:Name" disable-output-escaping="yes" /></td>
    </tr>
    <tr>
    <td class="normalBold" style="padding-bottom:20px; width: 100px;">ISIN:</td>
    <td class="Normal" style="padding-bottom:20px; width:400px;"><xsl:value-of select="udt:ISIN" disable-output-escaping="yes" /></td>
    </tr>
    <tr>
    <td class="normalBold" style="padding-bottom:20px; width: 100px;">Währung:</td>
    <td class="Normal" style="padding-bottom:20px; width:400px;"><xsl:value-of select="udt:Currency" disable-output-escaping="yes" /></td>
    </tr>
    <tr>
    <td class="normalBold" style="padding-bottom:20px; width: 100px;">Anlagekategorie</td>
    <td class="Normal" style="padding-bottom:20px; width:400px;"><xsl:value-of select="udt:Anlagekategorie" disable-output-escaping="yes" /></td>
    </tr>
    <tr>
    <td class="normalBold" style="padding-bottom:20px; width: 100px;">Risikoklasse</td>
    <td class="Normal" style="padding-bottom:20px; width:400px;"><xsl:value-of select="udt:Risiko" disable-output-escaping="yes" /></td>
    </tr>
    <tr>
    <td class="normalBold" style="padding-bottom:20px; width: 100px;">Info:</td>
    <td class="Normal" style="padding-bottom:20px; width:400px;"><xsl:value-of select="udt:Info" disable-output-escaping="yes" /></td>
    </tr>
    <tr>
    <td style="padding-top:20px;"><xsl:call-template name="ListView" /></td>
    </tr>
    </table>
    </xsl:template>
    <xsl:template match="udtata" mode="list">
    <xsl:if test="position() mod 2 = 1">
    <tr bgcolor="#FFFFFF">
    <td style="padding-bottom:20px; vertical-align:top; width:210px;"><xsl:value-of select="udt:Name" disable-output-escaping="yes" /></td>
    <td style="padding-bottom:20px; vertical-align:top; width:100px;"><xsl:value-of select="udt:ISIN" disable-output-escaping="yes" /></td>
    <td style="padding-bottom:20px; vertical-align:top; width:30px;"><xsl:value-of select="udt:Currency" disable-output-escaping="yes" /></td>
    <td style="padding-bottom:20px; vertical-align:top; width:120px;"><xsl:value-of select="udt:Anlagekategorie" disable-output-escaping="yes" /></td>
    <td style="padding-bottom:20px; vertical-align:top; width:50px;"><xsl:apply-templates select="Risiko"></xsl:apply-templates></td>
    <td style="padding-bottom:20px; vertical-align:top; width: 30px; font-family:Arial;"><xsl:call-template name="DetailView" /></td>
    </tr>
    </xsl:if>
    <xsl:if test="position() mod 2 = 0">
    <tr bgcolor="#DCDCDC">
    <td style="padding-bottom:20px; vertical-align:top; width:210px;"><xsl:value-of select="udt:Name" disable-output-escaping="yes" /></td>
    <td style="padding-bottom:20px; vertical-align:top; width:100px;"><xsl:value-of select="udt:ISIN" disable-output-escaping="yes" /></td>
    <td style="padding-bottom:20px; vertical-align:top; width:30px;"><xsl:value-of select="udt:Currency" disable-output-escaping="yes" /></td>
    <td style="padding-bottom:20px; vertical-align:top; width:120px;"><xsl:value-of select="udt:Anlagekategorie" disable-output-escaping="yes" /></td>
    <td style="padding-bottom:20px; vertical-align:top; width:50px;"><xsl:value-of select="Risiko" disable-output-escaping="yes"></xsl:value-of></td>
    <td style="padding-bottom:20px; vertical-align:top; width:30px; font-family:Arial;"><xsl:call-template name="DetailView" /></td>
    </tr>
    </xsl:if>
    </xsl:template>
    <xsl:template match="/udt:UserDefinedTable">
    <xsl:choose>
    <xsl:when test="$param_detail">
    <!--master-detail view-->
    <xsl:apply-templates select="udtata[udt:UserDefinedRowId=$param_detail]" mode="detail" /></xsl:when>
    <xsltherwise>
    <xsl:variable name="currentData" select="udtata" />
    <xsl:if test="$currentData">
    <body style="line-height:15px; font-size:12px; font-family: Arial;">
    <table width="540" border="0">
    <tr>
    <th style="padding-bottom:20px; vertical-align:top; width:210px; color:#FFD300; font: Arial, Helvetica, sans-serif normal;">Name</th>
    <th style="padding-bottom:20px; vertical-align:top; width:100px; color:#FFD300; font: Arial, Helvetica, sans-serif normal;">ISIN</th>
    <th style="padding-bottom:20px; vertical-align:top; width:30px; color:#FFD300; font: Arial, Helvetica, sans-serif normal;"> </th>
    <th style="padding-bottom:20px; vertical-align:top; width:120px; color:#FFD300; font: Arial, Helvetica, sans-serif normal;">Anlagekategorie</th>
    <th style="padding-bottom:20px; vertical-align:top; width:50px; color:#FFD300; font: Arial, Helvetica, sans-serif normal;">Risiko</th>
    <th style="padding-bottom:20px; vertical-align:top; width:30px; color:#FFD300; font: Arial, Helvetica, sans-serif normal;">Info</th>
    </tr>
    <xsl:apply-templates select="$currentData" mode="list">
    </xsl:apply-templates>
    </table>
    </body>
    </xsl:if>
    </xsltherwise>
    </xsl:choose>
    </xsl:template>
    <xsl:template match="Risiko">
    <xsl:if test=" udt:Risiko = gering">
    1
    </xsl:if>
    <xsl:if test=" udt:Risiko = mittel">
    2
    </xsl:if>
    <xsl:if test=" udt:Risiko = hoch">
    3
    </xsl:if>
    </xsl:template>
    <xsl:template name="ListView">
    <a href="{//udt:Context/udt:ApplicationPath}/tabid/{//udt:Context/udt:TabId}/Default.aspx" style="color:#828282; text-decoration:underline;">&gt; zurück</a>
    </xsl:template>
    <xsl:template name="DetailView">
    <a href="?{$prefix_param}_detail={udt:UserDefinedRowI d}" style="color:#828282; text-decoration:underline;">&gt;&gt;</a>
    </xsl:template>
    </xsl:stylesheet>

  • #2
    Re: 3 verschiedene Werte mit Bildern verknüpfen

    Hallo,

    kannst du dafür nicht einfach ein xsl:choose nehmen?

    <xsl:choose>
    <xsl:when test="@Risiko=='Mittel'">
    <img src="bild2.jpg"/>
    </xsl:when>
    <xsl:when test="@Risiko=='Hoch'">
    ...
    </xsl:choose>

    Bin mir nicht sicher ob der Syntax hier absolut korrekt ist.

    Gruß,
    Felix

    Comment

    Working...
    X