У меня есть существующий тип блока со свойством типа PageReference
, указывающим на внутренние страницы.
Требование состоит в том, чтобы заменить существующее свойство свойством Url
, которое может указывать либо на внутреннее, либо на внешнее содержимое.
Для этого я создал задание по расписанию для переноса значения свойства для существующих блоков в производственной среде.
Я могу получить экземпляры блочного типа. Мне нужно установить значение вновь добавленного свойства Url
на страницу, на которую ссылается старое свойство PageReference
.
//implementation
var contentTypeRepository = ServiceLocator.Current.GetInstance<EPiServer.DataAbstraction.IContentTypeRepository>();
var contentModelUsage = ServiceLocator.Current.GetInstance<IContentModelUsage>();
var repository = ServiceLocator.Current.GetInstance<IContentRepository>();
//Teaser Item Block
var blockItem = contentTypeRepository.Load(typeof(TeaserItemBlock));
// get usages, also includes versions
IList<ContentUsage> usages = contentModelUsage.ListContentOfContentType(blockItem);
Теперь я хочу перебрать экземпляры блоков и установить свойство Url
.