是否检查是否存在当前语言的项目? [英] Check if items exist in the current language?
本文介绍了是否检查是否存在当前语言的项目?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
但并非所有页面都被翻译成所有语言。因此,如果我站在英文的第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;
}
这篇关于是否检查是否存在当前语言的项目?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文