gpt4 book ai didi

sitecore - 检查当前语言是否存在项目?

转载 作者:行者123 更新时间:2023-12-02 12:30:54 25 4
gpt4 key购买 nike

我有一个 Sitecore 解决方案,其中启用了 3 种不同的语言。页面顶部有每种语言的链接。单击此链接后,您将获得当前所在页面(以所选语言显示)。

但并非所有页面都被翻译成所有语言。因此,如果我站在英语页面 x 上,并且该页面仅提供英语和德语版本,而没有中文版本,那么不应显示中文链接。

所以问题是 - 如何检查当前项目是否有特定语言的版本?

最佳答案

要查看当前项目是否有版本,您可以执行以下操作:Sitecore.Context.Item.Versions.Count > 0

[更新评论]

我并不认为这是确定项目是否具有某种语言版本的最有效方法,但这确实有效:

bool hasVersion = HasLanguageVersion(Sitecore.Context.Item, "en");

private bool HasLanguageVersion(Sitecore.Data.Items.Item item, string languageName)
{
var language = item.Languages.FirstOrDefault(l => l.Name == languageName);
if (language != null)
{
var languageSpecificItem = global::Sitecore.Context.Database.GetItem(item.ID, language);
if (languageSpecificItem != null && languageSpecificItem.Versions.Count > 0)
{
return true;
}
}
return false;
}

关于sitecore - 检查当前语言是否存在项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8231987/

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