1

我最近被分配到一个 EPiServer 项目。但是,我是 .Net 开发人员,我从来没有真正享受过使用 ES 的乐趣。

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

所以我到目前为止所创造的

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

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

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

  1. 有可能的。
  2. 这样做的最佳方法是什么,是否有任何类似的教程。

我不想通过 EPiServer 破解和削减我的方式,而是要利用 EPiServer 可能已经提供的东西。

4

2 回答 2

1

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

如果您使用的是这样的 PageTypeBuilder:

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

然后,您可以在 EPi 的保存事件之一中“按请求”获取或获取和存储(最简单的在您添加的其他属性上)。看看 Joel 在与 EPi 集成时的常见模式文章:

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

于 2013-07-29T07:33:19.033 回答
1

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

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

于 2013-07-29T09:47:41.667 回答