Orchard CMS数据导入

时间:2012-04-05 14:39:54

标签: asp.net-mvc-3 import orchardcms

我正在尝试将数据导入Orchard CMS。我有一个自定义类型,由部件和字段组成,我使用的是ImportExport模块。我已经从Orchard导出了一些数据以确保XML模式是正确的,但是在导入时,似乎填充的唯一字段是TitlePart标题。我随机生成了每条记录标识符的GUID。 Orchard 1.4,ImportExport 1.4。

一项数据的示例:

<Orchard>
  <Recipe>
    <Name>Data Import</Name>
    <Author>myaccount</Author>
  </Recipe>
  <Data>
    <OurPropertiesDivision Id="/Identifier=94eff3237c714f98b021905c33d25ea9" Status="Published">
      <LinkField.Link Text="This is a link" Url="http://stackoverflow.com" />
      <MediaPickerField.ImageOne Url="~/test.jpg" Width="100" Height="100" />
      <MediaPickerField.ImageTwo Url="~/test2.jpg" Width="100" Height="100" />
      <MediaPickerField.ImageThree Url="~/test3.jpg" Width="100" Height="100" />
      <TitlePart Title="Test Title" />
      <CommonPart Owner="/User.UserName=myaccount" CreatedUtc="2012-04-04T23:03:39Z" PublishedUtc="2012-04-04T23:03:39Z" ModifiedUtc="2012-04-04T23:03:39Z" />
      <IdentityPart Identifier="94eff3237c714f98b021905c33d25ea9" />
    </OurPropertiesDivision>
  </Data>
</Orchard>

在查看导入的条目时会出现以下情况:

内容列表:

Orchard Content List

编辑屏幕:

Orchard Edit Screen

通过导入进行导入的唯一字段是TitlePart。如何以一种我可以批量插入任何类型的字段或数据部分的方式来完成这项工作?我还想捕获Containable部分的容器。

编辑:添加内容类型元数据

<?xml version="1.0"?>
<!--Exported from Orchard-->
-<Orchard>
  -<Recipe>
    <Name>Generated by Orchard.ImportExport</Name>
    <Author>myaccount</Author>
  </Recipe> -<Metadata>
    -<Types>
      -<OurPropertiesDivision DisplayName="Our Properties - Division" ContentTypeSettings.Draftable="True" ContentTypeSettings.Creatable="True">
        <CommonPart DateEditorSettings.ShowDateEditor="False" OwnerEditorSettings.ShowOwnerEditor="False"/>
        <TitlePart/>
        <OurPropertiesDivision/>
        <ContainablePart/>
        <IdentityPart/>
      </OurPropertiesDivision>
    </Types> -<Parts>
      <CommonPart ContentPartSettings.Attachable="True"/> <TitlePart ContentPartSettings.Attachable="True"/> -<OurPropertiesDivision ContentPartSettings.Attachable="True">
        <ImageOne.MediaPickerField DisplayName="Image One" MediaPickerFieldSettings.Required="False" HtmlFieldSettings.FlavorDefault="html"/>
        <ImageTwo.MediaPickerField DisplayName="Image Two" MediaPickerFieldSettings.Required="False" HtmlFieldSettings.FlavorDefault="html"/>
        <ImageThree.MediaPickerField DisplayName="Image Three" MediaPickerFieldSettings.Required="False" HtmlFieldSettings.FlavorDefault="html"/>
        <Content.HtmlField DisplayName="Content" HtmlFieldSettings.FlavorDefault="html"/>
        <Link.LinkField DisplayName="Link" HtmlFieldSettings.FlavorDefault="html" LinkFieldSettings.LinkTextMode="Required" LinkFieldSettings.TargetMode="NewWindow" LinkFieldSettings.Required="True"/>
      </OurPropertiesDivision> <ContainablePart ContentPartSettings.Attachable="True"/> <IdentityPart ContentPartSettings.Attachable="True"/>
    </Parts>
  </Metadata>
</Orchard>

1 个答案:

答案 0 :(得分:0)

我最终分析了管理员生成的数据库插入,并在SQL中手动导入数据。