如何删除默认语言以外的所有项目版本?

时间:2017-08-29 08:43:32

标签: sitecore sitecore-rocks

由于某种原因,sitecore已经创建了所有语言的多版本。 有没有办法通过Site core Rocks Query删除除默认语言之外的所有版本和语言?

谢谢

2 个答案:

答案 0 :(得分:1)

您可以从系统/语言中删除语言项目,它会自动从所有项目中删除此语言版本。

答案 1 :(得分:0)

您可以从系统中删除此语言,它会关注此项目,然后发布网站 - 这将解决此问题。

如果您仍有任何问题 - 请明确删除,以下是示例代码

我已使用此代码添加所有语言的版本,可能有助于明确删除。

var homeItemA = Sitecore.Context.Database.GetItem(Landings.HomeItem);             var languageA = Sitecore.Globalization.Language.Parse(“en-SG”); //新语言版本

        var master = Sitecore.Configuration.Factory.GetDatabase("master");

        var allItems = master.GetItem(homeItemA.Paths.FullPath).Axes.GetDescendants();



        foreach (var blog in allItems)
        {
            Item ca = master.GetItem(blog.Paths.FullPath, languageA);


            using (new Sitecore.SecurityModel.SecurityDisabler())
            {
                try
                {
                    if (0 == ca.Versions.Count)
                    {
                        ca.Versions.AddVersion();
                    }


                }
                catch (Exception ex)
                {
                    ca.Editing.CancelEdit();

                }
            }
        }

请参阅my own blog for more details