我有一个medialibrarypickerfield
,我已经添加了一个YouTube视频。
如何在以下级别的替代方案中访问YouTube视频网址:
MediaLibraryPicker-ContentType-VideoFieldName.cshtml
我试过
var field = (MediaLibraryPickerField) Model.ContentField;
var contents = field.MediaParts;
获取对每个MediaPart
/视频的访问权限,但是当我遍历MediaParts时,MediaUrl为空。我知道这与OEmbedPart
有关,但我不知道如何访问它。
到目前为止非常令人沮丧。在Orchard之外的另一个非常简单的任务是存储和检索URL。
答案 0 :(得分:1)
要访问oEmbed部分,只需在媒体部分上执行As<OEmbedPart>()
即可。然后,您可以使用部件的Source属性访问视频的URL。您还可以访问oEmbed网站(在您的案例中为YouTube)提供的许多属性。可以使用部件上的索引器访问这些属性。
例如,part["html"]
会为您提供嵌入页面的HTML代码,以呈现视频播放器:
@Html.Raw(part["html"])
还有一个&#34;缩略图&#34;或者&#34; thumbnail_url&#34;属性(取决于提供者),它将为您提供缩略图图像的URL。您可以在Framework_ContentItemRecord
表的Data
列中查看基础XML的整个blob。例如,还有宽度和高度。