根据所选语言交换flash视频文件-sitecore

根据所选语言交换flash视频文件-sitecore,sitecore,sitecore-media-library,Sitecore,Sitecore Media Library,我正在学习sitecore 我想渲染flash视频,它应该根据当前选择的语言在两种语言之间交换 例: 如果我选择英语,我应该呈现视频的英语版本,如果选择法语,应该呈现视频的法语版本。我有两个版本的flash文件 如何使用xslt或JS实现这一点?感谢您的帮助 提前感谢。您可以使用xslt帮助函数sc:language()获取页面的当前语言 一个粗略的例子: <xsl:choose> <xsl:when test="sc:language() = 'en'"> [

我正在学习sitecore

我想渲染flash视频,它应该根据当前选择的语言在两种语言之间交换

例: 如果我选择英语,我应该呈现视频的英语版本,如果选择法语,应该呈现视频的法语版本。我有两个版本的flash文件

如何使用xslt或JS实现这一点?感谢您的帮助


提前感谢。

您可以使用xslt帮助函数
sc:language()
获取页面的当前语言

一个粗略的例子:

<xsl:choose>
  <xsl:when test="sc:language() = 'en'">
   [SHOW FLASH for EN]
  </xsl:when>
  <xsl:otherwise>
    [SHOW DEFAULT FLASH]
  </xsl:otherwise>
</xsl:choose>

[为英语显示FLASH]
[显示默认闪光]

希望这有帮助:)

与其通过代码来实现这一点,不如从Sitecore项目的字段中提取对flash文件的引用。这可能位于用户正在查看的页面的当前项目上,或者如果您需要在整个站点上显示,则位于显示Flash视频的子布局所引用的项目上


这样你的代码保持简单,如果你需要扩展到其他语言,你就不需要修改你的代码;您只需创建指向不同flash文件的项目的新翻译。

谢谢您的回复。试过了。很好:)啊,是的。。那也行。。永远不要忘记在XSLT的顶部隐藏的变量:@恩萨,如果史蒂芬的答案是有用的,考虑接受它。这会让人们对你未来的问题更有反应;)@燕,我不是说斯蒂芬错了。但我提到了另一种解决方法。无论如何,我会记住你的建议。谢谢:-)我喜欢这个解决方案。Sitecore项目被设计为支持不同语言的多个现成版本。您不需要编写一行代码。再加上代码的可维护性——想象一下,您需要支持一种以上的语言,通过Stephen的方法,您需要运行所有的渲染,并为语言添加新的切换。这将是痛苦的。同时,只需单击几下,您就可以为项目添加新的语言版本。