2015-05-23 1 views
1

Я работаю над переносом устаревшей CMS на CMS EPiServer. Я хочу переместить содержимое из старой CMS в базу данных EPiServer. Кто-нибудь столкнулся с таким сценарием? Я следовал их документу на world.episerver.com, но это не очень понятно. В нем говорится, чтобы настроить сайт EPiServer на вкладке config в разделе Admin для определения Content Channel. Но они не говорят о том, какие API использовать и как различные поля отображают в своей базе данных в базе данных EpiServer. Любая помощь приветствуется.Импорт содержимого из разных CMS в базу данных episerver

ответ

2

Вы не должны копировать непосредственно в базу данных, так как это очень сложно сделать правильно. Вам нужно начать с создания ваших типов контента внутри вашего проекта, а затем я думаю, что самый простой способ импортировать контент должен был создать запланированную задачу или расширить интерфейс администратора с помощью страницы импорта. В том, что вы делаете свое собственное сопоставление, поскольку вы единственный, кто знает, что должно быть в старой CMS в EPiServer.

Это непростая задача, если вы новичок в EPiServer, и я думаю, что это может быть самый быстрый способ связаться с экспертными службами, и они помогут вам в конце концов.

Удачи!

1

Вы можете добавить страницу программно с помощью IContenntRepository и IContentTypeRepositoiry EPiServer в следующем виде:

using EPiServer.Core; 
using EPiServer.DataAbstraction; 
using EPiServer.DataAnnotations; 
using EPiServer.ServiceLocation; 

PageReference parent = PageReference.RootPage; 

IContentRepository contentRepository = EPiServer.ServiceLocation.ServiceLocator.Current.GetInstance<IContentRepository>(); 
IContentTypeRepository contentTypeRepository = EPiServer.ServiceLocation.ServiceLocator.Current.GetInstance<IContentTypeRepository>(); 

PageData myPage = contentRepository.GetDefault<PageData>(parent, contentTypeRepository.Load("StandardPage").ID); 

StandardPage standardPage = contentRepository.GetDefault<StandardPage>(parent); 

myPage.Property["PageName"].Value = "Name"; 
myPage.Property["MainBody"].Value = "My Page"; 
myPage.Property["PageTypeName"].Value = "Standard Page"; 
myPage.Property["PagePendingPublish"].Value = true; 

myPage.URLSegment = EPiServer.Web.UrlSegment.CreateUrlSegment(myPage);      

contentRepository.Save(myPage, EPiServer.DataAccess.SaveAction.Publish, EPiServer.Security.AccessLevel.NoAccess); 
Смежные вопросы