2012-04-05 13 views
2

Ich versuche Daten in Orchard CMS zu importieren. Ich habe einen benutzerdefinierten Typ, der aus Teilen und Feldern besteht, und ich verwende das ImportExport-Modul. Ich habe einige Daten aus Orchard exportiert, um sicherzustellen, dass das XML-Schema korrekt ist, aber beim Importieren ist das einzige Feld, das zu füllen scheint, der TitlePart-Titel. Ich habe nach dem Zufallsprinzip eine GUID für die Kennung jedes Datensatzes generiert. Obstgarten 1.4, ImportExport 1.4.Orchard CMS Datenimport

Beispiel für ein Element der Daten:

<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> 

Daraus ergibt sich die folgende, wenn sie bei den importierten Eintrag suchen:

Inhaltsverzeichnis:

Orchard Content List

bearbeiten Bildschirm:

Orchard Edit Screen

Das einzige Feld, das es durch den Import macht, ist das TitlePart. Wie kann ich das so machen, dass ich jede Art von Feld oder Teil mit Daten einfügen kann? Ich möchte auch den Container für das Containable-Teil erfassen.

EDIT: Hinzufügen von Inhaltstyp Metadaten

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

Es gab manchmal Probleme beim Importieren von Daten in die db, aber unter verschiedenen Versionen für das Inhaltselement. Die neueste oder veröffentlichte Version (die sich nicht merken kann) des Inhaltselements (das im Dashboard angezeigt wird) enthält keine Daten. Können Sie in der DB nachsehen, ob das der Fall ist? –

+0

Ich habe die Orchard-Datenbank nie zuvor direkt berührt, aber ich stelle fest, dass in der Tabelle Orchard_Framework_ContentItemRecord die Importe die einzigen Zeilen sind, die Daten innerhalb der Datenspalte enthalten und alle Felder aus dem Import enthalten sind. Alle anderen Zeilen scheinen ihre Daten innerhalb der Tabelle Orchard_Framework_ContentItemVersionRecord zu speichern. Ist das ein Fehler bei der Import-Funktion, die keine Versionskontrolle berücksichtigt, oder ein anderes Problem? – Carson

+0

Es könnte sein. Ich hatte schon einmal einen ähnlichen Fehler, aber es wurde behoben. Haben Sie diesen Inhaltseintrag über das Dashboard oder über Code definiert (d. H. In Migrations.cs)? Wenn Sie es über Code getan haben, können Sie den Code einfügen? Wenn nicht, können Sie die Metadaten für die Inhaltselementdefinition einfügen? Sie können dies durch den Export erhalten, aktivieren Sie das Kontrollkästchen Metadaten. –

Antwort

0

ich am Ende der Analyse der Datenbankeinlagen durch den Admin erzeugt, und die Daten manuell in SQL importieren.

+1

Könnten Sie bitte mehr darüber erfahren, wie Sie den manuellen Import durchgeführt haben? Ich stehe vor der gleichen Sache und würde die Hilfe zu schätzen wissen. –

Verwandte Themen