gpt4 book ai didi

tridion - 多媒体二进制文件 - 对于次要版本元数据发布但实际的二进制文件没有?

转载 作者:行者123 更新时间:2023-12-04 12:48:59 25 4
gpt4 key购买 nike

我们将 Tridion 2009 SP1 与 XSLT 模板一起使用

全新的多媒体组件 (v0.0) 及其上传的二进制文件
将在此时正确发布到预览站点
首先保存(二进制文件的发布由tbbPublishMultimedia模板,如下所示)。

多媒体组件将作为次要修订进入工作流程
版本 v0.1 和在工作流程中(在“准备版内容
Item") 可以编辑组件并重新上传二进制文件
由作者根据需要进入组件。

每次将 v0.x 组件保存在工作流中(如 v0.1、v0.2、
v0.3、v0.4 等)组件的最新“工作流”版本
并且其二进制文件将正确发布到预览站点。

每次多媒体组件被批准发布时
离开工作流并成为新的主要版本(例如 v1.0 .... 或
v2.0、v3.0 等)。

如果一个主要版本随后被编辑并重新保存,它就会变成一个
新的次要修订版本(例如 v1.1)然后将重新发布到
预览站点(以及它的二进制文件),然后它会重新进入
工作流程。

然而,虽然 Tridion 正确发布了最新的小修订版
实际多媒体组件的版本(例如 v1.1)它似乎
只发布它包含的二进制文件的最后一个主要版本
(例如 v1.0 版本)。有趣的是,它似乎确实发布了
该二进制文件的最新 v1.1 元数据(即文件类型和
文件大小),但不是二进制文件本身。

总之,Tridion 似乎发布了最新的次要/修订版“
如果多媒体组件是 v0.x,则为二进制文件的工作流版本
但是一旦存在主要版本,它只会发布最后一个主要版本
二进制文件(本质上是重新输入之前的版本)
工作流程)。

反正就是这个样子……

  <xsl:template name="tbbPublishMultimedia">
<xsl:if test="string(//tcm:Type)='Multimedia'">
<xsl:variable name="binaryid"
select="string(//tcm:Component/@ID)"/>
<xsl:element name="tcm:MultimediaPublishedFileName">
<xsl:value-of select="tcmse:PublishBinary($binaryid)"/>
</xsl:element>
</xsl:if>
</xsl:template>

注意...在上面的模板中,可以将主要版本指定为 tcmse:PublishBinary parameter例如 concat($binaryid,"-v2")
确定要发布的版本,但因为它不允许您指定
次要版本,所以这并没有多大帮助

最佳答案

最近我真的没有对 XSLT 模板做过多少工作,不确定我能帮上什么忙。无论如何,您可以确认这仅适用于 XSLT 还是适用于其他模板?如果它只发生在 XSLT 上,那么您可能会遇到错误,而如果它发生在所有其他语言上,那么它可能只是“设计使然”,除了打开增强请求之外,您无能为力。

我最近发现,如果我要求任何项目的版本 0 (tcm:1-23-16-v0) Tridion 将返回允许当前用户阅读的项目的最新版本,包括次要版本(在 c# 中)。也许你可以试一试?

关于tridion - 多媒体二进制文件 - 对于次要版本元数据发布但实际的二进制文件没有?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9411486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com