Заполните другие свойства свойством
Я совсем недавно был назначен на проект EPiServer. Однако я - разработчик.Net, мне никогда не доставляло удовольствия работать с ES.
Мне было дано задание создать мягкую "интеграцию" со SoundCloud. Наши пользователи хотели бы скопировать / вставить URL в песню SoundCloud, и тогда я смогу использовать их API для получения всей информации об аудио. (заголовок, описание, теги и т. д.).
Итак, что я создал до сих пор
- SoundcloudPageType (содержит простые свойства, такие как заголовок, описание, продолжительность и т. Д.)
- Я написал небольшой POC для Soundcloud API, который получает всю информацию и десериализует ее в объект.
Сейчас мне нужен мост между этими двумя. Я думал, что создавая что-то вроде "PageLinkReference", где вы можете нажать кнопку [...], которая затем спросит вас "URL к звуку SoundCloud", как только человек введет, что я сделаю вызов API REST для предварительного заполнения всех других свойств. на странице.
Теперь это просто идея. Я хотел бы пройти мимо вас, ребята, чтобы увидеть, если
- Это возможно.
- Каков наилучший способ сделать это и есть ли учебники, которые делают что-то подобное.
Я не хочу взламывать и пробивать свой путь через EPiServer, но использовать то, что EPiServer уже может предоставить.
2 ответа
Я добавил бы свойство короткой строки в SoundcloudPageType и позволил бы пользователям вставлять в это поле.
Если вы используете PageTypeBuilder что-то вроде этого:
[PageTypeProperty(
EditCaption = "Soundcloud Url",
Type = typeof(PropertyString),
SortOrder = 2010,
UniqueValuePerLanguage = false,
Searchable = true)]
public virtual string SoundcloudUrl { get; set; }
Затем вы можете либо извлечь "по запросу", либо извлечь и сохранить (проще всего для других добавленных вами свойств) в одном из событий сохранения EPi. Взгляните на статью общих шаблонов Джоэла при интеграции с EPi:
Вы можете использовать плагин динамического содержимого oEmbed, который должен поддерживать soundcloud
http://nuget.episerver.com/en/?search=oembed&sort=MostDownloads&page=1&pageSize=10