1. フィールド値へのアクセス

Droplink、Droptree、およびグループ化されたDroplinkフィールドへのアクセス

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

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

Sitecore.Data.Fields.ReferenceFieldクラスを使用して、ユーザーがDroplinkフィールド、Droptreeフィールド、Grouped Droplinkフィールドなどの1つのアイテムを選択できるフィールド タイプにアクセスできます。

Sitecore.Data.Fields.ReferenceField.TargetItemプロパティには、フィールドで指定されたSitecore.Data.Items.Item (Null) が含まれます。たとえば、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に設定して、サポートされているタイプの1つのフィールドを更新できます。たとえば、Masterデータベースの /Sitecore/Content/HomeアイテムのReferenceFieldという名前のDroptreeフィールドで /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();

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