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

ファイルドロップエリアのフィールドへのアクセス

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

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

Sitecore.Data.Fields.FileDropAreaFieldクラスを使用して、タイプFile Drop Area (FDA) のフィールドの値にアクセスできます。Sitecore.Data.Fields.FileDropAreaField.GetMediaItemsメソッドは、FDAフィールドに関連付けられたメディア項目を返します。

次の例に基づいて、FDAフィールドに関連付けられたメディア項目へのリンクの順序なしリストを生成するWebコントロールを実装できます。

namespace Sitecore.Sharedsource.Web.UI.WebControls
{

    using System;

    public class FDALinks : Sitecore.Web.UI.WebControl
    {
   
        public string FieldName
        {
            get; set;
        }

        protected override void DoRender(System.Web.UI.HtmlTextWriter output)
        {
    
            if (this.FieldName == null || Sitecore.Context.Item == null || output == null)
            {
                return;     
            }

        
            Sitecore.Data.Fields.FileDropAreaField fdaField = Sitecore.Context.Item.Field[this.FieldName];

            if (fdaField == null) {
                return;
            }
        
            Sitecore.Collections.ItemList mediaItems = fdaField.GetMediaItems();
        
            if (mediaItems.Count < 1) {
                return;
            }

            output.Write("<ul>");
        
            foreach (Sitecore.Data.Items.Item mediaItem in mediaItems)
            {    
                string mediaUrl = Sitecore.StringUtil.EnsurePrefix('/', Sitecore.Resources.Media.MediaManager.GetMediaUrl(mediaItem));

                string markup = String.Format(@"<li><a href=""{0}"">{1}</a>", mediaUrl,mediaItem.Name);
        
                output.Write(markup);
            }

            output.Write("</ul>");
        }
    }
}
この記事を改善するための提案がある場合は、 お知らせください!