ファイルフィールドへのアクセス
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecore.Data.Fields.FileFieldクラスを使って型Fileのデータテンプレートフィールドにアクセスできます。Sitecore.Data.Fields.FileField.MediaItemプロパティを使ってフィールドで選択されたメディアアイテムにアクセスできます。例えば、Masterデータベースの*/Sitecore/Content/Home項目のFile*フィールドで参照されるメディアアイテムFileField:
Sitecore.Data.Database master = Sitecore.Configuration.Factory.GetDatabase("master");
Sitecore.Data.Items.Item home = master.GetItem("/sitecore/content/home");
Sitecore.Data.Fields.FileField fileField = home.Fields"filefield";
Sitecore.Data.Items.Item file = fileField.MediaItem;
if (fileField==null) { // File field not found }
else if (file==null) { // No file selected } else { Sitecore.Data.Items.MediaItem media = new Sitecore.Data.Items.MediaItem(file); // Process media item }
Fileフィールドの値を更新するには、Sitecore.Data.Fields.FileField.MediaID属性とSitecore.Data.Fields.FileField.Src属性を更新できます。例えば、Masterデータベースの*/Sitecore/Content/Home項目のFileフィールドがFileFieldと名付けられた項目が/Sitecore/Media Library/Files/Sample*メディア項目を指定するように:
Sitecore.Data.Database master = Sitecore.Configuration.Factory.GetDatabase("master");
Sitecore.Data.Items.Item home = master.GetItem("/sitecore/content/home");
Sitecore.Data.Fields.FileField fileField = home.Fields"filefield";
Sitecore.Data.Items.Item sample = master.GetItem("/sitecore/media library/files/sample");
if (fileField == null ){ // File field does not exist }
else if (sample == null) { // File does not exist }
else if (fileField.MediaID != sample.ID) {
home.Editing.BeginEdit();
fileField.MediaID = sample.ID; fileField.Src = Sitecore.Resources.Media.MediaManager.GetMediaUrl(sample);
home.Editing.EndEdit();
}