【问题标题】:How do you create an EditorTemplate in a Plugin for nopCommerce v2.20如何在 nopCommerce v2.20 插件中创建 EditorTemplate
【发布时间】:2011-12-14 06:43:33
【问题描述】:

我正在尝试为 nopCommerce v2.20 创建一个插件,允许用户通过描述要求并附上任何相关文件来请求商品和服务的报价。

我已经开始使用http://blog.csharpwebdeveloper.com/2011/09/10/writing-a-plugin-for-nopcommerce-2-x/ 作为指导,到目前为止效果非常好。我的项目与博文中的项目几乎相同,所以我只会添加我认为需要的代码 sn-ps,所以如果我遗漏了任何重要的内容,请让我扩展并提供详细信息。

现在我想添加一个工具来使用 uploadify 上传多个文件,并根据现有代码决定我应该为附件创建一个 EditorTemplate。

我的问题是,当我使用以下代码行获取模板时,我不知道如何以 MVC 框架可以定位的方式设置模板。

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

在我的模型中,我使用 Attachment 属性上的 UIHintAttribute("Attachments") 来识别没有明显效果的模板。

我在“Views”文件夹下创建了一个名为“EditorTemplates”的文件夹,并添加了一个名为“Attachments.cshtml”的文件,其中构建操作设置为“Embedded Resource”,内容如下:

@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 告诉我它看起来很主观?

谢谢

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-3 razor nopcommerce


    【解决方案1】:

    如果您尝试提供没有预编译的编辑器模板(这可能是进入一些更高级场景之前的最佳方式),您需要将 BuildAction 设置为“Content”,而不是“EmbeddedResource”。

    另外,请确保您的编辑器模板位于以下目录结构之一中(您提到它位于“视图”下,这是不正确的):

    • /Views/{ControllerName}/EditorTemplates/Attachments.cshtml
    • /Views/Shared/EditorTemplates/Attachments.cshtml
    • /Areas/{AreaName}/Views/{ControllerName}/EditorTemplates/Attachments.cshtml
    • /Areas/{AreaName}/Views/Shared/EditorTemplates/Attachments.cshtml

    如果您确实想将模板作为单独库的一部分嵌入,我建议您查看at this post from Chris Van De Steeg

    【讨论】:

      猜你喜欢
      • 2014-06-16
      • 2017-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-24
      • 2017-02-08
      相关资源
      最近更新 更多