当前位置: 首页 > Web前端 > HTML

SAPSpartacus的TMS与事件服务实施之间的关系

时间:2023-03-28 19:13:03 HTML

大多数客户使用标签管理系统(TMS)向Storefront添加附加标签。添加这些标签以集成到其他系统中,例如搜索或社交爬虫、分析解决方案、销售系统等。使用TMS将为应用程序生命周期带来敏捷性,因为无需经过开发周期即可应用更改。Spartacus旨在支持各种TMS供应商解决方案。最流行的标签管理器似乎是GTM,但我们不想将架构和技术实现局限于GTM。此外,CDS也依赖于类似的概念。TMS解决方案可以通过所谓的数据层进行集成。尽管不存在官方数据层标准,但核心原则是相同的:应用程序将数据推送到中央JavaScript对象。GoogleTagManager(GTM)支持窗口对象上的平面数据层数组,而Adob??eLaunch由窗口对象上名为digitalData的更复杂的JavaScript对象驱动。这两种解决方案似乎都没有提供API,因此我们必须直接操作这些全局JSO。下图显示了将Spartacus与多个标签管理器集成的高级架构。此示例描述了与GTM的集成,但其他标签管理器可以以类似的方式集成。eventservicengrxaction是事件系统的一个重要来源,一个典型的例子就是在Spartacus购物车组件中使用EventService。由于Spartacus中的通用事件系统,开发人员可以轻松观察事件。为了与现有的ngrx操作分离,我们将ngrx操作映射到引擎盖下的公共EventActions。EventActions可能会成为Spartacus中的标准,而不是低级别的ngrx操作。这主要是因为我们将来可能会考虑在Spartacus中取消ngrx实现。虽然Store中有大量(ngrx)操作可用,但这些操作主要由后端的数据集成驱动。还有许多其他事件也可以考虑在内,例如路由器事件、滚动事件、鼠标交互等。虽然我们可以从简单的MVP开始映射现有的存储操作,但设计不应局限于单一来源事件。可以使用多个EventServices(我们可以使用多个EventServices注入令牌)。我们可能需要考虑事件负载。事件负载可以保存事件的一些(元)数据。这对于事件系统非常有用和高效,因此事件订阅者不需要从头开始收集所有数据。