0

我遇到以下问题。我想用umbraco.library:CurrentDate()将两个日期选择器与时间字段进行比较,这样我就可以制作一个 XSLT,它根据与我在两个日期选择器中输入的时间相比的时间来执行三种不同的事情Time 。

目前,我有这个:

<xsl:variable name="currenttime" select="umbraco.library:CurrentDate()" />
<xsl:choose>
    <xsl:when test="$currenttime &lt; dateEvent">
        <a href="{umbraco.library:NiceUrl(@id)}">Event is not yet live</a>
    </xsl:when>
    <xsl:when test="$currenttime &gt; dateEvent and $currenttime &lt; dateEventpassed">
        <a href="{umbraco.library:NiceUrl(@id)}/live.aspx">Event is live</a>
    </xsl:when>
    <xsl:otherwise>
        <a href="{umbraco.library:NiceUrl(@id)}/different.aspx">Event has passed</a>
    </xsl:otherwise>

但不知何故,它似​​乎不起作用。这可能与日期格式的方式有关吗?我什至还没有成为 Umbraco 的专家,所以非常感谢任何帮助

4

2 回答 2

0

您没有正确dateEvent引用dateEventpassed。如果这些是变量,则需要添加$它们。

Umbraco 库函数来比较日期。

你的代码应该是这样的:

<xsl:variable name="currenttime" select="umbraco.library:CurrentDate()" />
<xsl:choose>
    <xsl:when test="umbraco.library.DateGreaterThan($dateEvent, $currenttime)">
        <a href="{umbraco.library:NiceUrl(@id)}">Event is not yet live</a>
    </xsl:when>
    <xsl:when test="umbraco.library.DateGreaterThan($currenttime, $dateEvent) and   umbraco.library.DateGreaterThanOrEqual($dateEventpassed, $currenttime)">
        <a href="{umbraco.library:NiceUrl(@id)}/live.aspx">Event is live</a>
    </xsl:when>
    <xsl:otherwise>
        <a href="{umbraco.library:NiceUrl(@id)}/different.aspx">Event has passed</a>
    </xsl:otherwise>
于 2013-08-13T14:23:37.770 回答
0

我终于想出了这个结果:

                <xsl:variable name="huidigetijd" select="umbraco.library:CurrentDate()" />  
                <xsl:choose>
                    <xsl:when test="umbraco.library:DateGreaterThan(dateEvent, $huidigetijd)">
                    <a href="{umbraco.library:NiceUrl(@id)}">Event is not yet live</a>
                    </xsl:when>
                    <xsl:when test="umbraco.library:DateGreaterThan($huidigetijd, dateEvent) and umbraco.library:DateGreaterThan(dateEventpassed, $huidigetijd)">
                        <a href="{umbraco.library:NiceUrl(@id)}/live.aspx">Event is live</a>
                    </xsl:when>
                    <xsl:otherwise>
                    <a href="{umbraco.library:NiceUrl(@id)}/different.aspx">Event has passed</a>
                    </xsl:otherwise>
                </xsl:choose>

感谢 Ollie P 为我提供了一个可行的答案。

于 2013-08-14T08:11:28.617 回答