オーチャード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>
これは、次のような結果になります。
コンテンツリスト:
編集画面:
をインポートによって唯一のフィールドは、タイトルパートです。どんなタイプのフィールドやパーツにデータを一括して挿入できるようにするには、どうしたらいいですか? 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>
インポートは、データをデータベースに入れますが、コンテンツアイテムのさまざまなバージョンでは問題が発生することがありました。そのため、(ダッシュボードに表示される)コンテンツアイテムの最新バージョンまたは公開されたバージョン(覚えていないことがあります)にはデータがありません。この場合、dbをチェックインできますか? –
Orchard_Framework_ContentItemRecordテーブルでは、Orchardデータベースに直接触れたことはありませんが、データ列内のデータを含む唯一の行であり、インポートのすべてのフィールドがあります。他のすべての行は、Orchard_Framework_ContentItemVersionRecordテーブルの内部にデータを格納しているようです。バージョニングを考慮しないインポート機能やその他の問題があるバグですか? – Carson
かもしれません。私はこれまでと同じようなバグを経験しましたが、修正されました。このコンテンツアイテムをダッシュボードまたはコード(Migrations.cs)で定義しましたか?あなたがコードを介してそれをした場合は、コードを貼り付けることができますか?そうでない場合は、コンテンツアイテム定義のメタデータを貼り付けることができますか?これをエクスポートするには、[メタデータ]チェックボックスをオンにします。 –