使用属性填充其他属性

时间:2013-07-28 05:03:20

标签: episerver episerver-6-r2

我最近被分配到EPiServer项目。然而,我是.Net开发人员,我从未有过与ES合作的乐趣。

我被赋予了与SoundCloud创建软“集成”的任务。我们的用户希望将URL复制/粘贴到SoundCloud歌曲 - 然后我可以使用他们的API实际获取音频的所有信息。 (标题,描述,标签等)。

所以我到目前为止创造了什么

  • SoundcloudPageType(包含标题,描述,持续时间等简单属性。)
  • 我为Soundcloud API编写了一个小POC,它可以获取所有信息并将其反序列化为对象。

我现在需要的是这两者之间的桥梁。我想创建类似“PageLinkReference”的东西,你可以点击[...]按钮然后会问你“SoundCloud音频的URL”,一旦有人进入,我会做一个REST api调用来预先填充所有其他属性在页面上。

现在,这只是一个想法。我想跑过去你们看看是否

  1. 有可能。
  2. 这样做的最佳方式是什么,是否有任何类似的教程。
  3. 我不想通过EPiServer破解和削减我的方式,而是利用EPiServer可能提供的内容。

2 个答案:

答案 0 :(得分:1)

我会在SoundcloudPageType中添加一个短字符串属性,然后让用户粘贴到该字段中。

如果您正在使用类似这样的PageTypeBuilder:

[PageTypeProperty(
        EditCaption = "Soundcloud Url",
        Type = typeof(PropertyString),
        SortOrder = 2010,
        UniqueValuePerLanguage = false,
        Searchable = true)]
public virtual string SoundcloudUrl { get; set; }

然后你可以在EPi的一个保存事件中获取“on request”或获取并存储(最简单的是你已经添加的其他属性)。在与EPi集成时,看看Joel的常见模式文章:

http://joelabrahamsson.com/episerver-integration-patterns/

答案 1 :(得分:1)

你可以使用oEmbed动态内容插件,它应该支持soundcloud

http://nuget.episerver.com/en/?search=oembed&sort=MostDownloads&page=1&pageSize=10