1. アイテムの操作

アイテムの代替バージョンへのアクセス

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

各アイテムには、複数の言語を含めることができます。各言語には、複数のバージョンを含めることができます。Sitecore.Data.Versionクラスを使用すると、Sitecore.Data.Database.GetItem() メソッドを使用してアイテムにアクセスするときにバージョンを指定できます。たとえば、Master データベース内の /Sitecore/Content/Home項目の最初のバージョンにデフォルトのen言語でアクセスするには、次のようにします。

Sitecore.Globalization.Language language = Sitecore.Globalization.Language.Parse("en");

Sitecore.Data.Items.Item home = master.GetItem("/sitecore/content/home",

language, Sitecore.Data.Version.Latest);

Masterデータベース内の/Sitecore/Content/Homeアイテムの2番目のバージョンにデフォルトのen言語でアクセスするには:

Sitecore.Data.Database master = Sitecore.Configuration.Factory.GetDatabase("master");

Sitecore.Globalization.Language language = Sitecore.Globalization.Language.Parse("en");

Sitecore.Data.Version second = Sitecore.Data.Version.Parse(2);

Sitecore.Data.Items.Item home = master.GetItem("/sitecore/content/home",

language,second);
メモ

バージョンを指定しない場合、Sitecoreはデフォルトで現在のバージョンを使用します。

バージョンの識別子にアクセスするには、Sitecore.Data.Items.Version.Numberプロパティを使用します。たとえば、Masterデータベース内の/Sitecore/Content/Homeアイテムのバージョン番号にアクセスするには、次のようにします。

Sitecore.Data.Items.Item home = master.GetItem("/sitecore/content/home");

int verNumber = home.Version.Number;

Sitecore.Data.Items.Item.Versions.Countプロパティを使用して、言語の項目のバージョンが存在するかどうかを判断できます。Sitecore.Data.Items.Item.Versions.GetVersions() メソッドを使用すると、言語の項目のすべてのバージョンにアクセスできます。たとえば、Masterデータベース内の /Sitecore/Content/Homeアイテムの各言語のすべてのバージョンにアクセスするには、次のようにします。

Sitecore.Data.Items.Item home = master.GetItem("/sitecore/content/home");

foreach (Sitecore.Globalization.Language language in home.Languages)
    {
        Sitecore.Data.Items.Item langItem = master.GetItem(home.ID, language);

        if (langItem.Versions.Count > 0)
        {
            foreach (Sitecore.Data.Items.Item verItem in langItem.Versions.GetVersions())
            {
                // Process version item
            }
        }
    }
この記事を改善するための提案がある場合は、 お知らせください!