2
後獲得第一個項目我有XML看起來像這樣的試圖XSLT排序在Sitecore的
<xml>
<news>
<newsitem>
<publishdate>2011-10-11</publishdate>
<title>Article 1</title>
<breakingnewsflag>false</breakingnewsflag>
</newsitem>
<newsitem>
<publishdate>2009-10-14</publishdate>
<title>Article 2</title>
<breakingnewsflag>true</breakingnewsflag>
</newsitem>
<newsitem>
<publishdate>2009-10-12</publishdate>
<title>Article 3</title>
<breakingnewsflag>true</breakingnewsflag>
</newsitem>
</news>
</xml>
現在我要做的就是獲得通過日期最近的項目,具有breakingnewsflag設置爲true。
看來我可以在標誌過濾做的for-each
<xsl:for-each select="sc:item('/sitecore/content/Home',.)/item[sc:fld('BreakingNewsStory',.)]">
,我可以排序這個集合
<xsl:sort select="sc:fld('PublishDate',.)" order="ascending" />
這給我留下了XSLT看起來像這裏面的時候..
<xsl:for-each select="sc:item('/sitecore/content/Home',.)/item[sc:fld('BreakingNewsStory',.)]">
<xsl:sort select="sc:fld('PublishDate',.)" order="ascending" />
Article Name: <xsl:value-of select="@name" /><br />
Title: <sc:text field="title"/> <br />
</xsl:for-each>
......但是我不能再獲得第一項。
我可以通過使用此語法
<xsl:for-each select="sc:item('/sitecore/content/Home',.)/item[sc:fld('BreakingNewsStory',.)][1]">
檢查後旗獲得的第一個項目......但隨後將在訂購之前抓住它。
我打算在排序條款之後再嘗試另一個foreach,然後獲得第一個條目,但我認爲這將會是不必要的複雜,並且必須有更簡單的方法來做我正在嘗試的去做。
是的是做到了。謝謝! – Garnaph