Sitecore在发布时显示多个“en”语言选项

时间:2016-04-22 17:47:04

标签: sitecore

我们在内部开发服务器上运行Sitecore 7.5(141003)的实例(我们正在逐步完成升级过程)。

我们有一个奇怪的问题,当您将项目作为管理员发布时,您会在“发布语言”标题下看到以下内容:

  • 全选

在sitecore>下;系统>语言我们只有一个'en'项,但是使用以下代码我们看到我们有三个'en'项(项目ID与System> Languages下的项目匹配)和两个'en-us'项目(没有项目ID) :

<%@ Page Language="C#" Debug="true" %>

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <div>
        <script runat="server">
            void Page_Load(object sender, System.EventArgs e)
            {
                if (HttpContext.Current == null || Sitecore.Context.Database == null)
                {
                    Response.Write("No context.");
                    return;
                }

                var languages = Sitecore.Data.Managers.LanguageManager.GetLanguages(Sitecore.Context.Database);

                foreach (var language in languages)
                {
                    Response.Write(Sitecore.Data.Managers.LanguageManager.GetLanguageItemId(language, Sitecore.Context.Database) + "<br />");
                    Response.Write(language.CultureInfo + "<br />");
                }
            }
        </script>
    </div>
</body>
</html>

此外,如果我对Master数据库运行以下查询,我只看到一个项目。

USE XXXSitecore_Master
SELECT TOP 10 *
FROM Items
WHERE ID = 'AF584191-45C9-4201-8740-5409F4CF8BDD'

由于这是一个开发服务器数据库,备份和恢复已被用于使其与另一台服务器保持同步,但我相信还使用了包装。

我很困惑为什么有多个版本的'en'返回相同的Item ID。

我们怎样才能找到这些额外英语的来源,以便我们最终能够完成并清理它们?

编辑1

发布网站显示相同的三个英文选项。

查看“版本”选项卡中的“语言”部分,英语:英语显示三次,每次显示12个版本(以及所有三个突出显示),然后英语(美国) :英语(美国)显示两次,每种版本有两个版本。

查看版本,我们有10到1,然后是1两倍。要更新的日期和最后一个人是相同的。所以有12个版本,但版本1列出了三次。目前无法查看数据库,看看我能找到关于三个版本1实例的内容。

1 个答案:

答案 0 :(得分:0)

我们在Sitecore 8中遇到了类似的问题(多次添加/删除语言后,我们的代码同时出现异常)。没有明确的答案为什么会发生这种情况,但我已经创造了虚拟语言&#39;再次项目,然后正确删除它。这解决了这个问题。顺便说一句:据我所知,Sitecore不允许创建新语言,因为它已经存在了#39;所以我们在干净的Sitecore中创建了语言项,并将其移动到包中。