如何与NopCommerce MVC合作

时间:2012-08-02 12:45:26

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-2 asp.net-mvc-4 nopcommerce

我们目前正在寻找MVC中NopCommerce的最新版本(2.60),我们很快就会整合它......我们已经下载了源代码,并为用户指南文档支付了20美元。文档很棒!我的意思是......从某种意义上讲,它解释了如何部署,安装以及如何解决UI前端和后端问题。这对于整体概述非常有用,但缺少的是了解如何与团队合作NopCommerce。什么是最佳实践等...

作为一个例子(或并行),如果您决定与Dotnetnuke合作,您通常以下列方式工作:

  • 每位开发人员都会在本地下载/安装Dotnetnuke 机。
  • 您还可以在专用服务器上下载/安装Dotnetnuke(比如说 DEV-服务器)。
  • 作为开发人员,您可以工作并创建本地测试的模块 在你的Dotnetnuke安装中。
  • 完成后,您打包模块(以及任何SQL脚本) 附带你的模块)到一个zip文件。
  • 包准备好后,您可以上传/安装该包 专用服务器(dev-server)。

这种方法对Dotnetnuke很有用,更重要的是如果你有一个开发人员团队创建模块。

我的问题是团队如何与NopCommerce MVC合作?

我认为直接在源代码中工作是个坏主意,以防你的团队决定修改核心元素/来源,这将导致无法升级到新版本(或中断更改)。

我不确定我与Dotnetnuke的平行是否是正确的...但是,任何人都有任何想法(或帮助我澄清)团队如何与NopCommerce MVC合作。

此外,团队是否应该仅依赖于为NopCommerce创建插件并远离修改核心,还是应该与此无关?

如果在最终NopCommerce MVC升级创建类似对象和/或覆盖它们的情况下,我们应该在对象前添加前缀,如果在SQL中添加新对象(或修改现有对象)呢?

感谢您帮我解释一下。

此致

文斯

1 个答案:

答案 0 :(得分:6)

NopCommerce中的插件几乎就像DNN中的模块一样。根据您的需要,有时需要修改核心代码。

我为服务做的是创建一个新类并从现有服务继承,然后覆盖您想要更改的功能。创建一个新的DependencyRegistrar类,并将新的服务类设置为该特定接口的实现。还要确保Order属性为1,以便在库存之后加载DR类。由于您是从核心类继承的,因此您未覆盖的任何函数都将由父类处理。如果我需要添加一个新函数,我只是修改接口,在库存类中放置一个存根,并在我自己实现它。

Nop.Web项目中的视图可以被主题覆盖。管理员和Web控制器变得更加棘手。我只是直接修改这些文件。

Core和Data类可以使用partial类来添加新字段。

在任何情况下,您仍需要在发布更新时将更改与解决方案合并。我的观点是,你最好现在编写干净,可读的代码,并在它出现时咬合并子弹。

我现在并不担心SQL脚本,因为我是单个开发人员,但也许您为ALTER脚本添加了一个文件夹,并在创建它们之后命名它们。然后每个开发人员都知道他们最新的时候需要运行哪些脚本。