【问题标题】:NopCommerce - Conditionally hide payment optionsNopCommerce - 有条件地隐藏付款选项
【发布时间】:2017-12-28 14:49:04
【问题描述】:

有没有办法根据某些用户条件有条件地隐藏某些付款方式?

例如:

if (!_workContext.CurrentCustomer.IsRegistered()){
    // Hide Credit Card payment method
}

以上只是一个示例,但我创建了一个自定义支付方式插件,并且基于一些不同的事情我需要从前端显示/隐藏所述支付方式。想法?

【问题讨论】:

    标签: c# nopcommerce


    【解决方案1】:

    是的,有多种方法可以做到这一点。付款方式代码位于Nop.Web > View > Checkout > opcPaymentMethods.cshtml (一页结帐)nopCommerce 3.90

    <ul class="method-list" id="payment-method-block">
        @for (int i = 0; i < Model.PaymentMethods.Count; i++)
        {
            var paymentMethod = Model.PaymentMethods[i];
            var paymentMethodName = paymentMethod.Name;
            if (!String.IsNullOrEmpty(paymentMethod.Fee))
            {
                paymentMethodName = T("Checkout.SelectPaymentMethod.MethodAndFee", paymentMethodName, paymentMethod.Fee).Text;
                ...
                ....
            }
        }
    </ul>
    

    我找不到IsRegistered 属性,所以我在这里使用电子邮件地址,并使用插件系统名称检查它,如果条件匹配则跳过该付款方式。

    @using Nop.Core.Infrastructure;
    @using Nop.Core;
    
    <ul class="method-list" id="payment-method-block">
      @for (int i = 0; i < Model.PaymentMethods.Count; i++)
      {                    
          var customerEmail = EngineContext.Current.Resolve<IWorkContext>().CurrentCustomer.Email;
    
          var paymentMethod = Model.PaymentMethods[i];
    
          string _paymentMethodSystemName = paymentMethod.PaymentMethodSystemName;
    
          if(customerEmail == "admin@yourstore.com")
          {
            if (_paymentMethodSystemName == "Payments.CheckMoneyOrder")
            {
                continue;
            }
          }
    
          var paymentMethodName = paymentMethod.Name;
      }
      ...
      .....
    

    现在,不会为管理员用户加载 CheckMoneyOrder。

    【讨论】:

    • 谢谢,这正是我所需要的。标记为答案。
    • 很高兴能帮上忙!
    猜你喜欢
    • 2017-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-04
    • 2017-07-09
    • 2017-07-19
    • 1970-01-01
    • 2016-10-15
    相关资源
    最近更新 更多