2011-10-24 10 views
2

nopCommerce v2.20用のプラグインを作成しようとしています。これにより、ユーザーは要件を説明し、関連するものを添付することで商品やサービスの見積りをリクエストできますドキュメント。プラグインでnopCommerce v2.20のEditorTemplateを作成する方法

私はhttp://blog.csharpwebdeveloper.com/2011/09/10/writing-a-plugin-for-nopcommerce-2-x/をガイドとして使用し始めましたが、これまでのところ非常に良好です。私のプロジェクトはブログ記事のものとほとんど同じですので、コードスニペットを追加するだけです。必要なものは残しておきます。

今、uploadifyを使用して複数のファイルをアップロードする機能を追加し、添付ファイル用にEditorTemplateを作成する必要がある既存のコードに基づいて決定します。

私の問題は、テンプレートを取得するために次のコード行を使用すると、MVCフレームワークが配置できる方法でテンプレートをセットアップする方法をうまくできません。私のモデルでは

@Html.EditorFor(m => m.Attachment)

ノー顕著な効果でテンプレートを識別するために、添付ファイルのプロパティにUIHintAttribute(「添付ファイル」)を使用しています。

私は「EditorTemplates」と呼ばれる「ビュー」フォルダ以下のフォルダを作成し、「埋め込まれたリソース」に設定し、ビルドアクションを持つ「Attachments.cshtml」と呼ばれるファイルを追加した、以下の内容いる:

@model int 
@using Nop.Core; 
@{ 
    var randomNumber = CommonHelper.GenerateRandomInteger(); 
    var clientId = "download" + randomNumber; 
    var downloadService = EngineContext.Current.Resolve(); 
    var download = downloadService.GetDownloadById(Model); 
} 
<div>This is a download control @string.Format("randomNumber = {0}, clientId = {1}, download = {2}", randomNumber, clientId, download);</div>

その場所を解決するためにMVCフレームワークを取得できたら、テンプレートを実装するつもりです。

プラグイン(メインプロジェクトの別のクラスライブラリ)にエディタテンプレートを持たせることができます。もしそうなら、私はテンプレートの場所を解決するためにMVCフレームワークを有効にする必要がありますか?

私はMVC、Razor、nopCommerceの新機能を追加したいと思います。

私はそれが主観的であることをstackoverflowに教えてくれるので、あなたは私の質問のより良いタイトルを提案できますか?

おかげ

答えて

2

あなたが「コンテンツ」としてビルドアクションを設定することになるでしょう(あなたには、いくつかのより高度なシナリオに入るまでは、おそらく最良の方法である)、プリコンパイルせずにエディタのテンプレートを提供しようとしている場合 - "EmbeddedResource"ではありません。

  • /ビュー/ {コントローラ名}/EditorTemplates /添付ファイル:

    また、(あなたはそれが間違っている「ビュー」の下にあった言及した)エディタのテンプレートは以下のディレクトリ構造の一つであることを確認してください。 CSHTML

  • /Views/Shared/EditorTemplates/Attachments.cshtml
  • /Areas/{AreaName}/Views/{ControllerName}/EditorTemplates/Attachments.cshtml
  • /エリア/ {AREANAME} /ビュー/共有/ EditorTemplates /Attachments.cshtml

テンプレートを別のライブラリの一部として埋め込みたい場合は、at this post from Chris Van De Steegと表示することをおすすめします。

関連する問題