2012-04-05 17 views
2

オーチャードCMSにデータをインポートしようとしています。私は部品とフィールドで構成されたカスタムタイプを持っており、ImportExportモジュールを使用しています。 Orchardからいくつかのデータをエクスポートして、XMLスキーマが正しいことを確認しましたが、インポート時には、入力すると思われる唯一のフィールドはTitlePartタイトルです。私はランダムに各レコードの識別子のGUIDを生成しました。 Orchard 1.4、ImportExport 1.4。データの1つの項目のオーチャードCMSのデータインポート

例:インポートされたエントリを見たときに

<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

インポートによって唯一のフィールドは、タイトルパートです。どんなタイプのフィールドやパーツにデータを一括して挿入できるようにするには、どうしたらいいですか? Containableパーツのコンテナも取得したいと思います。

EDIT:追加コンテンツ・タイプ・メタデータ

<?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> 
+0

インポートは、データをデータベースに入れますが、コンテンツアイテムのさまざまなバージョンでは問題が発生することがありました。そのため、(ダッシュボードに表示される)コンテンツアイテムの最新バージョンまたは公開されたバージョン(覚えていないことがあります)にはデータがありません。この場合、dbをチェックインできますか? –

+0

Orchard_Framework_ContentItemRecordテーブルでは、Orchardデータベースに直接触れたことはありませんが、データ列内のデータを含む唯一の行であり、インポートのすべてのフィールドがあります。他のすべての行は、Orchard_Framework_ContentItemVersionRecordテーブルの内部にデータを格納しているようです。バージョニングを考慮しないインポート機能やその他の問題があるバグですか? – Carson

+0

かもしれません。私はこれまでと同じようなバグを経験しましたが、修正されました。このコンテンツアイテムをダッシュ​​ボードまたはコード(Migrations.cs)で定義しましたか?あなたがコードを介してそれをした場合は、コードを貼り付けることができますか?そうでない場合は、コンテンツアイテム定義のメタデータを貼り付けることができますか?これをエクスポートするには、[メタデータ]チェックボックスをオンにします。 –

答えて

0

Iは、管理者によって生成されたデータベースインサートを分析し、そして手動でSQLにデータをインポートすることになりました。

+1

手動インポートの仕組みについてもっと詳しく教えてください。私は同じことに直面しており、助けに感謝します。 –

関連する問題