如何根据Spartacus中的用户配置文件在网站之间自动更改货币



我正在开发一个SAP Commerce网站,该网站可以处理两个不同货币的国家/地区。

我从一个baseStore(同时支持两种货币(和一个baseSite(店面(开始。它运行良好,用户可以使用下拉列表选择货币。

但要求是用户只能与一个国家关联,并且只能看到他们国家的价格。登录后,他们应该坚持使用与个人资料相关的货币。

我创建了第二个baseStore,每个国家有一个baseStore。每个baseStore只链接到相应的货币。我还扩展了DefaultBaseStoreSelectorStrategy来选择正确的baseStore。问题是始终通过Spartacus请求参数(在DefaultContextInformationLoader上(设置相同的货币。

我还试图创建第二个baseSite(这样每个国家都会有自己的baseStore和相关的baseSite(,但我最终还是得到了预期的baseSite,但始终是原始货币。

这类似于关于https://spartacus-storefront.slack.com/archives/CD16V16FR/p1574329837183900

商务平台的多站点功能和spartacus的集成应该为您提供开箱即用的解决方案。

您在这里需要什么:

  • 2个baseStore,每个都有一个特定的baseSite。然而,您可以重复使用产品组合、搜索索引、cms内容等,但也可以根据国家/地区进行区分
  • baseStore应该使用单个语言配置进行配置(这意味着spartacus不会显示语言选择器,因为没有什么可选择的(
  • 使用Spartacus中的多站点配置,以确保您通过后端驱动配置。您应该避免Spartacus中的静态站点配置
  • 如果两个网站都在同一个域上运行,您很可能希望为网站或语言使用编码属性,这样URL就会有所不同(对于SEO也是如此(

最新更新