【发布时间】:2015-06-12 07:17:06
【问题描述】:
在我的 sitecore 网站中,重定向有一个棘手的要求。 有一些外部重定向从 sharepoint 到 sitecore 项目再到一些外部重定向。 例如:/abc.aspx (sharepoint_URL) 到 /abc(站点核心项目)到 http://abc.ly(外部 URL)。
在 /abc (sitecore item) 我们只有英文版本的 item 而http://abc.ly 可以有多种语言版本。如果网站是用英文记录的,而不是正常工作,在其他语言中,它显示的 404 错误页面是真实的,因为版本计数是 0。
要求是如果没有其他语言版本的项目,它应该指向“en”版本,即全球。 限制是营销人员不能接受 sitecore 中项目的版本控制,我现在不想使用后备模块。我尝试的是:
Language currentLang = Sitecore.Context.Language;
Language LangEn= Language.Parse("en");
if(currentLang !=LangEn)
{ currentLang =LangEn;
}
Item versionItem = Sitecore.Context.Database.GetItem(Context.Item.ID, currentLang);
if (versionItem.Versions.Count == 0){ // do something }`
请尽快提出建议
【问题讨论】:
-
您为什么不简单地将重定向项上的字段设置为“共享”,然后它们将针对任何语言版本返回。
-
相关重定向模板的所有字段都已在“共享”中勾选。但对我来说仍然失败。每当 (versionItem.Versions.Count == 0) 且计数为 0 时,它会发送到 404 响应页面。
-
您发布了您的项目和模板吗?
-
是的,检查了所有发布目标、索引和所有内容,它们工作正常