6

Orchard 1.6 のインポート エクスポート モジュールに問題があり
ます。プロパティを持つパーツを含むカスタム タイプをエクスポートしたいと考えています。エクスポート XML には、TitlePart、CommonPart、BodyPart、および AutoroutePart からのデータが含まれていますが、自分のパーツからのデータはありません。

エクスポート XML に含まれるように、インターフェイスを実装したり、自分で何かをオーバーライドしたりするなど、何かすべきことはありますか? export モジュールの拡張ポイントは何ですか? モジュールのソースがありますが、見つかりません。

特定のエクスポート モジュールの module.txt は次のとおりです。
名前: インポート エクスポート
パス: ImportExport 偽造
防止: 有効
作成者: オーチャード チーム
ウェブサイト: http://orchardproject.net
バージョン: 1.6オーチャードバージョン
: 1.4
説明: コンテンツ アイテム データのインポートとエクスポートを提供します容量。
機能の説明: コンテンツ アイテム データのインポートとエクスポート
カテゴリ: コンテンツ

前もって感謝します :)

4

2 に答える 2

8

コンテンツ パーツ ドライバーの Exporting/Importing メソッドをオーバーライドする必要があります。の簡単な例を次に示しOrchard.Core.Title.Driver.TitlePartDriverます。

protected override void Importing(TitlePart part, ImportContentContext context) {
    var title = context.Attribute(part.PartDefinition.Name, "Title");
    if (title != null) {
        part.Title = title;
    }
}

protected override void Exporting(TitlePart part, ExportContentContext context) {
    context.Element(part.PartDefinition.Name).SetAttributeValue("Title", part.Title);
}

このImportExportContextクラスは、出力ドキュメントの生成に使用される基礎となる XML 構造へのアクセスを提供するため、System.Xml.Linq、XDocument などの使用に慣れている場合は、すべて使い慣れているように思えるでしょう。

Orchard.Core.Common.Drivers.CommonPartDriverOrchard.Users.Drivers.UserPartDriver、およびには、他にも使用例がいくつかありますOrchard.Comments.Drivers.CommentPartDriver

于 2013-02-15T10:32:33.340 に答える