何らかの理由で、sitecoreがすべての言語でマルチバージョンを作成しました。 Site Core Rocks Queryを使用して、すべてのバージョンとデフォルト言語以外の言語を削除する方法はありますか?デフォルト言語以外のアイテムバージョンを削除するにはどうすればよいですか?
おかげ
何らかの理由で、sitecoreがすべての言語でマルチバージョンを作成しました。 Site Core Rocks Queryを使用して、すべてのバージョンとデフォルト言語以外の言語を削除する方法はありますか?デフォルト言語以外のアイテムバージョンを削除するにはどうすればよいですか?
おかげ
あなたは、システム/言語から言語の項目を削除することができ、それが自動的にすべてのアイテムから、この言語のバージョンを削除します。
この言語をシステムから削除すると、このアイテムを気にかけてからサイトを公開します。これによりこの問題は解決します。
あなたはまだすべての問題がある場合 - 以下、これを明示的に削除してください、私はすべての言語のバージョンを追加するには、このコードを使用しているサンプルコードは
で、明示的に削除するには、この助けとなる可能性があります。
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();
}
}
}
を参照してください。