预期:

仿照Customer 的 Phone number enabled 和 required

增加MemberType

相关步骤如下:

1.运行站点

Admin -> Settings -> All settings(advanced)

-> Add new record

仿照 customersettings.phone 新增

customersettings.membertypeenabled

customersettings.membertyperequired

2.运行站点

Admin -> Configuration -> Languages -> Edit

-> Add new record

仿照 CustomerUser.phone 新增

Admin.Configuration.Settings.CustomerUser.MemberTypeEnabled

Admin.Configuration.Settings.CustomerUser.MemberTypeRequired

3.Nop.Core\Domain\Customers\CustomerSettings.cs

仿照 PhoneEnabled 及 PhoneRequired 新增

/// <summary>

/// Gets or sets a value indicating whether 'Member Type' is enabled

/// </summary>

public bool MemberTypeEnabled { get; set; }

/// <summary>

/// Gets or sets a value indicating whether 'Member Type' is required

/// </summary>

public bool MemberTypeRequired { get; set; }

4.Presentation\Nop.Web\Administration\Models\Settings\CustomerUserSettingsModel.cs

修改 CustomerSettingsModel

仿照 PhoneEnabled 及 PhoneRequired 新增

[NopResourceDisplayName("Admin.Configuration.Settings.CustomerUser.MemberTypeEnabled")]

public bool MemberTypeEnabled { get; set; }

[NopResourceDisplayName("Admin.Configuration.Settings.CustomerUser.MemberTypeRequired")]

public bool MemberTypeRequired { get; set; }

5.Presentation\Nop.Web\Administration\Views\Setting\CustomerUser.cshtml

仿照 PhoneEnabled 及 PhoneRequired 新增

<div class="form-group">

<div class="col-md-3">

@Html.NopLabelFor(model => model.CustomerSettings.MemberTypeEnabled)

</div>

<div class="col-md-9">

@Html.NopEditorFor(model => model.CustomerSettings.MemberTypeEnabled)

@Html.ValidationMessageFor(model => model.CustomerSettings.MemberTypeEnabled)

</div>

</div>

<div class="form-group" id="pnlMemberTypeRequired">

<div class="col-md-3">

@Html.NopLabelFor(model => model.CustomerSettings.MemberTypeRequired)

</div>

<div class="col-md-9">

@Html.NopEditorFor(model => model.CustomerSettings.MemberTypeRequired)

@Html.ValidationMessageFor(model => model.CustomerSettings.MemberTypeRequired)

</div>

</div>

及

if ($('#@Html.FieldIdFor(model => model.CustomerSettings.MemberTypeEnabled)').is(':checked')) {

$('#pnlMemberTypeRequired').show();

} else {

$('#pnlMemberTypeRequired').hide();

}

和

$("#@Html.FieldIdFor(model => model.CustomerSettings.MemberTypeEnabled)").click(toggleCustomerRequiredFormField);

6.解决方案 Clean 和 Rebuild

7.运行站点 查看效果

其他:

Presentation\Nop.Web\Administration\Controllers\SettingController.cs

public ActionResult CustomerUser()

{

if (!_permissionService.Authorize(StandardPermissionProvider.ManageSettings))

return AccessDeniedView();

var storeScope = this.GetActiveStoreScopeConfiguration(_storeService, _workContext);

var customerSettings = _settingService.LoadSetting<CustomerSettings>(storeScope);

Presentation\Nop.Web\Administration\Infrastructure\Mapper\AutoMapperConfiguration.cs

仿照  cfg.CreateMap<CustomerUserSettingsModel.CustomerSettingsModel, CustomerSettings>()

//.ForMember(dest => dest.MemberTypeEnabled, mo => mo.Ignore())

//.ForMember(dest => dest.MemberTypeRequired, mo => mo.Ignore())

NopCommerce 增加 Customer Settings的更多相关文章

  1. NopCommerce 增加 Customer Field

    预期效果: Customer表新增一个Column 该新增字段可以在Admin段 新增 修改 列表查询及显示 示例步骤: 0.数据库表修改 alter table [Customer] add Mem ...

  2. NopCommerce 增加 Customer Attributes

    预期: Customer 新增一个自定义属性 运行站点 1.Admin -> Settings -> Customer settings -> Customer form field ...

  3. [转]教你一招 - 如何给nopcommerce增加新闻类别模块

    本文转自:http://www.nopchina.net/post/nopchina-teach-newscategory.html nopcommerce的新闻模块一直都没有新闻类别,但是很多情况下 ...

  4. [转]教你一招 - 如何给nopcommerce增加一个类似admin的area

    本文转自:http://www.cnblogs.com/wucf2004/p/nopcommerce-area.html asp.net mvc里面的area是什么,点击这里查看 如果在nopcomm ...

  5. NopCommerce 关于Customer的会员类别及会员价处理 的尝试途径

    示例效果: 当Customer是某个会员级别或内部员工时, 购物结算时享受一定的折扣: 相关设定如下: Step1.新增会员类别    Admin - Customers - Customer rol ...

  6. 教你一招 - 如何给nopcommerce增加一个类似admin的area

    asp.net mvc里面的area是什么,点击这里查看 如果在nopcommerce里面加入类似admin的area,步骤如下: 1.新建一个mvc空项目MvcApplication1,位置放在\N ...

  7. NopCommerce源代码分析之用户验证和权限管理

    目录 1.  介绍 2.  UML 2.1  实体类UML图 2.2  业务相关UML图 3.  核心代码分析 3.1  实体类源代码 3.2  业务相关源代码 3.3  相关控制器源代码 3.4  ...

  8. Maven命令

    1. mvn help:describe 你是否因为记不清某个插件有哪些goal而痛苦过,你是否因为想不起某个goal有哪些参数而苦恼,那就试试这个命令吧,它会告诉你一切的. 参数: 1. -Dplu ...

  9. maven使用

    Maven是一个项目管理和构建自动化工具.但是对于我们程序员来说,我们最关心的是它的项目构建功能,它定义了项目开发的几个标准步骤:编译,发布,单元测试及部署以帮助项目开发 最简单的时候场景是,在pom ...

随机推荐

  1. [System] CentOS虚拟机系统克隆后的网络配置

    VMware Workstation 虚拟机在进行克隆 CentOS 系统之后,在克隆机上配置网卡时,会出现一些细节问题,讨论一二. 一.情景描述 克隆机上默认由 NetworkManager 服务管 ...

  2. 简析.NET Core 以及与 .NET Framework的关系

    简析.NET Core 以及与 .NET Framework的关系 一 .NET 的 Framework 们 二 .NET Core的到来 1. Runtime 2. Unified BCL 3. W ...

  3. 利用SHELL脚本实现文件完整性检测程序(1.2版更新)

    一..开发背景 因时势所逼,需要对服务器的文件系统实行监控.虽然linux下有不少入侵检测和防窜改系统,但都比较麻烦,用起来也不是很称手.自己琢磨着也不需要什么多复杂的功能,写个脚本应该就可以满足基本 ...

  4. 记一SQL部署问题

    在部署环境时,不同的环境可能会有一些不同步,而个人遇到的问题就是在开发环境中表中均有字段 BestCaseId 和 RiskId 字段,生产环境中目前只有 BestCaseId 字段,新搭建的测试环境 ...

  5. Java中,方法的重写、重载的区别,以及多态的实例

    首先我们要明白什么是重写和重载 重写(override):子类方法覆盖了父类的方法.    (类与类之间继承的关系) 例:父类代码 public class Deng { public void Qi ...

  6. ExpandableListView实现展开更多和收起更多

    [需求]: 如上面图示 当点开某个一级菜单的时候,其他菜单收起: 子级菜单默认最多5个: 多于5个的显示"展开更多" 点击"展开更多",展开该级所有子级菜单,同 ...

  7. PowerDesigner15在win7-64位系统下对MySQL 进行反向工程以及建立物理模型产生SQL语句步骤图文傻瓜式详解

    1.安装PowerDesigner15.MySQL5.不详细讲解了.网上一大把.请各位亲参考去. 2.安MyODBC-standard-3.51.0.7-win.msi.mysql-connector ...

  8. jQuery组件开发之表格隔行选中效果实现

    一.效果展示如下 jQuery组件之表格插件源码 //表格选中插件 //方式一 (function($){ var chosTabBgColor = function(options){ //设置默认 ...

  9. js instanceof

    a instanceof b: 1,首先a不是对象,返回false,b的原型不是对象抛出TypeError 2,取得b的prototype标记为bp,对a的原型链做循环,令ap为当前原型,如果ap与b ...

  10. 把简单做好也不简单-css水平垂直居中

    44年前我们把人送上月球,但在CSS中我们仍然不能很好实现水平垂直居中. 作者:Icarus 原文链接:http://xdlrt.github.io/2016/12/15/2016-12-15 水平垂 ...