アイテムの別バージョンへのアクセス
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
各項目は複数の言語を含むことができます。各言語は複数のバージョンを含みます。Sitecore.Data.Versionクラスを使って、Sitecore.Data.Database.GetItem()メソッドを使ってアイテムにアクセスする際にバージョンを指定することができます。例えば、デフォルトのen言語でMasterデータベース内の/Sitecore/Content/Homeアイテムの最初のバージョンにアクセスする場合:
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データベースの第2バージョンの*/Sitecore/Content/Home*項目にアクセスするには:
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()メソッドを使って、ある言語のアイテムのすべてのバージョンにアクセスできます。例えば、マスターデータベース内の各言語ですべてのバージョンにアクセスする*/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 } } }