由于某种原因,sitecore已经创建了所有语言的多版本。 有没有办法通过Site core Rocks Query删除除默认语言之外的所有版本和语言?
谢谢
答案 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();
}
}
}