ドロップリンク、ドロップツリー、グループドドロップリンクフィールドへのアクセス
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecore.Data.Fields.ReferenceFieldクラスを使うことで、Droplink、Droptree、Grouped Droplinkの各項目を単一項目選択できるフィールドタイプにアクセスできます。
Sitecore.Data.Fields.ReferenceField.TargetItemプロパティは、フィールドまたはNullで指定されたSitecore.Data.Items.Itemを含みます。例えば、Masterデータベースの*/Sitecore/Content/Home項目にあるDroptreeフィールドで指定されたReferenceField*項目にアクセスする場合:
Sitecore.Data.Database master = Sitecore.Configuration.Factory.GetDatabase("master");
Sitecore.Data.Items.Item home = master.GetItem("/sitecore/content/home");
Sitecore.Data.Fields.ReferenceField referenceField = item.Fields"referencefield";
if (referenceField==null) { // Field does not exist } else if (referenceField.TargetItem==null) { // No item selected } else { Sitecore.Data.Items.Item referencedItem = referenceField.TargetItem; // Process referenced item }
Sitecore.Data.Fields.ReferenceField.ValueプロパティをアイテムのIDに設定すれば、サポートされているタイプのフィールドを更新できます。例えば、Masterデータベースの*/Sitecore/Content/HomeアイテムのDroptreeフィールドにReferenceField*という名前の項目が/Sitecore/Content/Home/Sample項目を指定するように:
Sitecore.Data.Database master = Sitecore.Configuration.Factory.GetDatabase("master");
Sitecore.Data.Items.Item home = master.GetItem("/sitecore/content/home");
Sitecore.Data.Fields.ReferenceField referenceField = home.Fields"referencefield";
if (referenceField==null) { // Field does not exist } else { Sitecore.Data.Items.Item sample = master.GetItem("/sitecore/content/home/sample");
if (sample==null) { // Sample does not exist } else if (sample.ID.ToString()!=referenceField.Value) {
home.Editing.BeginEdit(); referenceField.Value = sample.ID.ToString(); home.Editing.EndEdit();
} }