Прямо сейчас, когда я устанавливаю ограничения на публикацию для элементов в Sitecore, которые визуализируются с помощью визуализации xslt, xslt будет просто выводить пустые блоки, которые на сайте выглядят не очень хорошо.
Это код xslt, который я использую для отображения элемента Sitecore:
<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>
Я хочу проверить, есть ли у элемента версия, доступная на языке контекста, которая НЕ ограничена показом на текущую дату. Так, например:
Это 12 февраля 2010 года, и у меня есть статья, публикация которой запрещена с 11 февраля 2010 года по 16 февраля 2010 года. Сейчас она не будет показана, чего я и хочу. Но вместо того, чтобы не показывать мои пролеты и div, он просто заполнит их пустой информацией. Это приводит к пустым блокам на сайте, что довольно уродливо:
Пусто: / http://www.bibliotheekmb.nl/images/emptycellblocks.png
Таким образом, верхний элемент этого блока показывает элемент, хотя его публикация запрещена. Как я могу справиться с этим в xslt ??
В презентации Sitecore xslt cookbook написано:
<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>
Это для выбора элементов с версией на языке контекста, но не работает для того, что я хочу.