zoukankan      html  css  js  c++  java
  • NopCommerce 增加 Customer Settings

    预期:

    仿照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.CoreDomainCustomersCustomerSettings.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.PresentationNop.WebAdministrationModelsSettingsCustomerUserSettingsModel.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.PresentationNop.WebAdministrationViewsSettingCustomerUser.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.运行站点 查看效果

                      

    其他:

    PresentationNop.WebAdministrationControllersSettingController.cs

    public ActionResult CustomerUser()

    {

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

                       return AccessDeniedView();

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

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

                               

    PresentationNop.WebAdministrationInfrastructureMapperAutoMapperConfiguration.cs

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

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

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

                                                  

            

            

  • 相关阅读:
    多线程中变量的内存分配
    VS2019解决Cannot resolve symbol ' '问题
    排序算法——选择排序
    观察者模式
    c# 之linq——小白入门级
    c# 迭代器
    MySql学习
    rabbitmq安装及简单demo练习
    VMware Workstation 12 PRo密钥
    远程过程调用——RPC
  • 原文地址:https://www.cnblogs.com/freeliver54/p/6178072.html
Copyright © 2011-2022 走看看