5

一連のxmlドキュメントを読み取り、Orchardのインポート/エクスポートモジュールを使用してアップロードするカスタムデータインポートレシピを作成するカスタムコードがあります。インポートされたドキュメントは、Orchard管理UIを使用して作成したコンテンツタイプ「ApiDocumentation」です。ここで、このレシピファイル生成コードをカスタムOrchardモジュールの一部にし(それが正しいアプローチであるかどうかはわかりません)、管理者ユーザーに次のことを実行させたいと思います。

  1. 管理ダッシュボードセクションのフォームを使用して、レシピファイルジェネレーターで実行する必要のあるxmlドキュメントをアップロードします

  2. このフォームはレシピファイルをインポート/エクスポートモジュールに送信し、通常どおりインポートプロセスを実行できるようにします。

これを処理するための最良のアプローチは何でしょうか?カスタムモジュールを作成することが正しいアプローチであるかどうかさえわかりません。私が利用すべき他の拡張オプションがある場合、それを知っておくとよいでしょう。

4

1 に答える 1

3

IImportExportServiceインターフェイスには、次のメンバーがありImportます。

void Import(string recipeText);

レシピを生成したら、このメソッドを呼び出すことができます。このメソッドはレシピを実行し、シェルを更新します。

データをインポートしているだけの場合、私が間違っていなければ、シェルを更新せずに逃げることができます(これは、機能が有効または無効になっている場合にのみ行う必要があります)-その場合、とを数回呼び出すことができIRecipeParserますIRecipeManager代わりにインターフェース:

var recipe = _recipeParser.ParseRecipe(recipeText);
_recipeManager.Execute(recipe);

サイト間でコンテンツを移動できるように、インポート/エクスポートを行う同様の機能を作成しました。また、暗号化を行うため、詳細は詮索好きな目から隠されます。ImportExportServiceのソースを読むのはそれほど複雑ではないので、開始するのに最適な場所です。

于 2012-12-08T21:48:25.480 に答える