受欢迎的博客标签

NopCommerce 电子商务源代码学习需要知道的基础知识

Published

一 环境 ASP.Net 5 安装方法:http://www.nuget.org/packages/Microsoft.AspNet.Mvc/5.2.3

二 相关资料 Asp.net MVC资料

http://www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using-mvc/creating-an-entity-framework-data-model-for-an-asp-net-mvc-application

http://www.cnblogs.com/powertoolsteam/archive/2013/11/12/aspnet-mvc5-getting-started.html EntityFramework: https://msdn.microsoft.com/zh-cn/data/ee712907

依赖注入Autofac 文档 http://kb.cnblogs.com/page/45266/ http://docs.autofac.org/en/latest/

Automaper 资料 http://www.cnblogs.com/dudu/archive/2011/12/16/2284828.html

后台UI框架 kendo ui http://demos.telerik.com/kendo-ui/

NopCommerce 资料

http://www.nopchina.net/

http://www.nopcommerce.com/

https://github.com/nuodb/nopCommerce

在NopCommerce中新增一个Domain Model,需要以下几个步骤:

1. 新建一个Entity Class (Nop/Core/Domain/Entity.cs)

以多语言为例:

2. 新建一个Mapping Class (Nop/Data/Mapping/EntityMap.cs)

3. 新建一个View Model (Nop/Admin/Models/EntityModel.cs 或 Nop/Web/Models/EntityModel.cs)

4. 新建Model Validator (Nop/Admin/Validators/EntityValidator.cs 或 Nop/Web/Validators/EntityValidator.cs) 5. 为AutoMapper新建映射配置,用来完成Model和Entity之间的转换 (Nop/Admin/Infrastructure/AutoMapperStartupTask.cs 或 Nop/Web/Infrastructure/AutoMapperStartupTask.cs)

6. 编写ToModel和ToEntity (Nop/Admin/MappingExtensions.cs 或 Nop/Web/MappingExtensions.cs)

7. 创建Service和Service Interface (Nop/Services/EntityService.cs 和 Nop/Services/IEntityService.cs)

8. 最后新建的Model创建Controller和View

9 依赖注入框架注册 .

Nop.Web.FrameWork/ DependencyRegistrar.cs: builder.RegisterType<EntityService>().As<IEntityService>().InstancePerHttpRequest();

tether.js插件实现的弹出层效果(JQUERY),示例中提供了这样几种效果:单击按钮弹出一个带有指向箭头的层,单击按钮向上或向下滚动弹出一个菜单,鼠标移到图片上,会紧挨图片弹出一个周边略有阴影的层;单击按钮会弹出一个带有指向箭头和投影的层 bootstrap之后报这个错误,错误出在bootstrap.js文件中,原语句是: if(void 0===window.Tether)   throw new Error("Bootstrap tooltips require Tether (http://github.hubspot.com/tether/)");

于是,在文件头部引入tether <link href="//cdn.bootcss.com/tether/1.3.6/css/tether.min.css" rel="stylesheet"> <script src="//cdn.bootcss.com/tether/1.3.6/js/tether.min.js"></script>http://tether.io/ 结果依旧报错,原因是bootstrap.js依赖tether.js,所以必须把tether放在bootstrap.js之前进行引用.  

jQuery UI 与 jquery 的主要区别:

(1) jQuery是一个js库,主要提供的功能是选择器,属性修改和事件绑定等等。

(2) jQuery UI则是在jQuery的基础上,利用jQuery的扩展性,设计的插件。提供了一些常用的界面元素,诸如对话框、拖动行为、改变大小行为等等。

(3) jQuery本身注重于后台,没有漂亮的界面,而jQuery UI则补充了前者的不足,他提供了华丽的展示界面,使人更容易接受。既有强大的后台,又有华丽的前台。jQuery UI是jQuery插件,只不过专指由jQuery官方维护的UI方向的插件。

jquery-ui-1.10.3.custom.min.js 自定义可选功能,而不是全部下载。http://jqueryui.com/download/ 可以选择你需要的功能。  

jquery.validate.js jquery.validate.js是jquery插件,所以必须要有jquery支持,负责客户端验证。ASP.NET MVC 对于model属性的验证分为客户端和服务端的验证,客户端的验证则是使用jquery validate来进行验证。   jquery.validate.unobtrusive.js 在 ASP.NET MVC 中启用 Unobtrusive JavaScript 功能,可以在运行时由服务器端根据Model中设置的验证规则,自动生成客户端验证js代码(结合jquery.validate)。

 jquery-migrate-1.1.0.js 应用迁移辅助插件,

jQuery 版本之间有区别。

比如1.9版本对于 live(),die(),toggle(),sub(),$.browser 等等都已经不支持了。 在不改变你网站代码的同时,要使用 1.9 之后的版本,你需要使用 jQuery migrate(转移、过度),

详见 http://blog.jquery.com/2013/01/31/jquery-migrate-1-1-0-released/ (英文)。

所以jquery-migrate-1.1.0.js就是一个过渡插件 让你在原来代码上升级jquery 不用修改代码用的 。 jquery.magnific-popup.min.js  一款免费的响应式 jQuery Lightbox 插件,相比其它五花八门的 Lightbox 插件,Magnific Popup 专注于性能和为用户在不同的设备上提供最好的体验,兼容 Zepto.js  

jquery.slim.min.js bootstrap 中用户导航条弹出菜单项目