---
title: "アイテムの別バージョンへのアクセス"
slug: "access-alternate-versions-of-an-item"
abstract: "Sitecoreを使ってアイテムの別バージョンにアクセスする方法。Data.Versionクラス。"
---
# アイテムの別バージョンへのアクセス

各項目は複数の言語を含むことができます。各言語は複数のバージョンを含みます。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
 }
 }
 }