2013-05-14 2 views
0

Я создал экземпляр элемента контента, как показано ниже:Orchard CMS элемент контента не может быть изменен программно

ContentItem ci = _orchardServices.ContentManager.New("ContentTypeA"); 
_orchardServices.ContentManager.Create(ci, VersionOptions.Published); 
ci.As<SomeContentPart>().SomeAttr = value; 
... 
_orchardServices.ContentManager.Publish(ci); 

В другом способе мне нужно изменить его тип контента, и я попытался следующие без успеха:

ci.TypeDefinition = _contentDefinitionManager.GetTypeDefinition("ContentTypeB"); 
ci.ContentType = "ContentTypeB"; 

Когда я снова запрашиваю элемент контента, его тип содержимого по-прежнему остается «ContentTypeA» вместо «ContentTypeB».

Любые идеи?

ответ

1

Как только элемент контента был создан, вы не можете изменить его тип содержимого. Ну, теоретически вы можете взломать базу данных и заставить ее работать, но, похоже, гораздо лучше использовать свое время, чтобы просто создать новый элемент и скопировать данные.

+0

Спасибо, Бертран. Я импортирую документы Sharepoint в Orchard. Таким образом, каждый раз, когда изменяется тип содержимого документа Sharepoint, мне нужно будет воссоздать элемент контента. Похож на немного неопрятный для меня: S. Я знаю, что эта функция не является высокоприоритетной, но было бы неплохо иметь ее доступной. – sebasuy

Смежные вопросы