简体   繁体   English

Umbraco XSLT最新版本列表编号值

[英]Umbraco XSLT list by latest versionNumber value

I'm creating a download macro and I'm listing items from the media section by selecting the media folder they are uploaded to. 我正在创建一个下载宏,并通过选择要上传到媒体文件夹的媒体部分列出它们。

I've created a media type Asset, which has potential child nodes, Asset Version. 我创建了一种媒体类型Asset,该媒体类型具有潜在的子节点Asset Version。

I can create as many Asset Version's as I like, but I only want the latest Asset Version displayed in my download macro. 我可以创建任意多个“资产版本”,但我只希望在下载宏中显示最新的“资产版本”。 I've added a label to my Asset Version, versionNumber, that adds a number value created within the same Asset. 我在资产版本versionNumber中添加了一个标签,该标签添加了在同一资产中创建的数字值。

eg 例如

  • Asset 资产
    • Asset Version - versionNumber = 1 资产版本-版本号= 1
    • Asset Version - versionNumber = 2 资产版本-版本号= 2
    • Asset Version - versionNumber = 3 资产版本-版本号= 3

Currently this lists only Asset Version with versionNumber = 1: 当前,此列表仅列出versionNumber = 1的资产版本:

<xsl:for-each select="$files/Asset/AssetVersion[@nodeTypeAlias = 'AssetVersion' and versionNumber= '1']">
  <xsl:sort select="./versionNumber" data-type="number" order="descending"/>
  <xsl:call-template name="Documents" />
</xsl:for-each>

I only want the latest Asset Version to display in my list, and only that version. 我只希望最新的资产版本显示在我的列表中,并且只显示该版本。

My download macro can list multiple Asset's, but should only display one AssetVersion for each. 我的下载宏可以列出多个资产,但是每个资产只能显示一个AssetVersion。

eg Download macro 例如下载宏

  • Asset 1 资产1
    • Asset 1 - Asset Version - versionNumber = 3 资产1-资产版本-versionNumber = 3
  • Asset 2 资产2
    • Asset 2 - Asset Version - versionNumber = 1 资产2-资产版本-版本号= 1
  • Asset 3 资产3
    • Asset 3 - Asset Version - versionNumber = 6 资产3-资产版本-版本号= 6

Can anybody help? 有人可以帮忙吗?

Cheers JV 干杯合资公司

Use : 用途

<xsl:for-each select="$files/Asset">
  <!-- output here the Asset number /id -->
  <xsl:for-each select="AssetVersion[@nodeTypeAlias = 'AssetVersion']">
    <xsl:sort select="versionNumber" data-type="number" order="descending"/>

    <xsl:if test="position()=1">
      <xsl:call-template name="Documents" />
    </xsl:if> 
  </xsl:for-each>
</xsl:for-each>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM