1. アイテムの扱い方

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

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

このページの翻訳は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 } } }

この記事を改善するための提案がある場合は、 お知らせください!