【问题标题】:How to propagate the rounding configuration in a Kentico store settings for custom calculations?如何在 Kentico 商店设置中传播舍入配置以进行自定义计算?
【发布时间】:2020-06-13 19:06:13
【问题描述】:

我正在使用 Kentico 11 CMS 开发一个商业网站,除了产品价格之外,还需要根据用户的输入来计算其保险成本。

Kentico 允许在 Store 配置应用程序 -> Store settings -> General 选项卡中配置价格舍入选项,我也想将它用于我的自定义计算,以便我的定制功能四舍五入根据全局存储设置根据小数位数得出结果。

根据Kentico documentation,您可以根据您的具体要求,通过使用Round() 方法创建实现IRoundingService 接口的Service 类和使用GetRoundingService() 实现IRoundingServiceFactory 接口的SeviceFactory 类来自定义全局舍入方法。理想情况下,我想避免这种情况,因为我对 Kentico 中的标准 财务 舍入选项很满意,并且只想将其应用于我的自定义功能以保持一致性。

【问题讨论】:

    标签: rounding kentico commerce kentico-11


    【解决方案1】:

    您可以按如下方式检索上下文站点的舍入服务:

    using CMS.Core;
    using CMS.Ecommerce;
    using CMS.SiteProvider;
    IRoundingService roundingService = Service.Resolve<IRoundingServiceFactory().GetRoundingService(SiteContext.CurrentSiteID);
    

    然后将舍入方法调用为roundingService.Round(insurance, currency),将十进制值和当前货币传递给它。

    目前可获得的币种如下:

    CurrencyInfo currencyInfo = ECommerceContext.CurrentCurrency;
    

    【讨论】:

      猜你喜欢
      • 2017-02-10
      • 2010-12-12
      • 2018-02-13
      • 2013-02-04
      • 2015-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多