現在,當我設置通過xslt渲染呈現的Sitecore中的項目的發佈限制時,xslt將只輸出看起來不太好的空塊在網站上。Sitecore - xslt渲染 - 當沒有已發佈的版本可用時隱藏
這是我使用的渲染我的Sitecore的項目的XSLT代碼:
<xsl:for-each select="$item[sc:fld('__created',.)]">
<xsl:for-each select="sc:Split('Agenda-items',$item)">
<xsl:variable name="thisitem" select="sc:Split('Agenda-items',$item)" />
<xsl:variable name="loopitem" select="sc:item(text(),.)" />
<xsl:if test="$item[sc:fld('__created',.)]">
<div class="agendaItem">
<div class="agendaDatum">
<span class="agendaDag">
<sc:date field="Begindatum" format="dd" select="$loopitem" />
</span>
<span class="agendaMaand">
<sc:date field="Begindatum" format="MMM" select="$loopitem" />
</span>
</div>
<div class="agendaTekst">
<sc:link select="$loopitem" title="" class="rood">
<sc:text field="Titel" select="$loopitem" />
</sc:link>
<br />
<span class="agendaUitleg">
<xsl:value-of select="stringutil:Clip(sc:field('Intro',$loopitem), 60, 1)"/> 
</span>
</div>
</div>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
我要的是檢查wheter項目在上下文中可用的語言版本,是不是被限制所示在當前日期。例如:
這是2010年2月12日,我有一個項目是限制發佈從2010年2月11日,直到2010年2月16日。現在它不會顯示,這是我想要的。但不是不顯示我的跨度和div,它只會填充空信息。這導致空塊的網站這是一種醜惡的:
Empty :/ http://www.bibliotheekmb.nl/images/emptycellblocks.png
所以這個塊的最上面的一個項目顯示了一個項目,而它的被公佈的限制。我怎樣才能在xslt中手工處理?
的Sitecore的演示XSLT菜譜說:
<xsl:for-each select="$sc_currentitem/item[sc:fld('__created',.)]">
<!--the context element is an item with a version in the context language-->
</xsl:for-each>
這是與上下文中的語言版本選擇項目,但不工作我想要的東西。
但因爲我沒有東西叫$ SC:項目我不能對變量進行測試。我仍然沒有解決這個問題:/ ... – Younes 2010-02-26 10:17:53
對不起,$ sc:項目是一個錯誤,它應該是sc:我已經對項目進行了修改 – 2010-02-26 16:29:26