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

SAPSpartacus结账流程的扩展(extend)实现介绍

时间:2023-03-27 10:19:35 JavaScript

Spartacus中的结账功能是CMS驱动的,也就是说结账流程中的每个页面都是基于CMSpages、slots和Components。因此,开发人员只需少量配置即可更改每个页面的内容、添加新组件、将结帐转换为单步结帐,或者在店面应用程序中创建非常复杂的多步结帐工作流。在结帐过程中,通常有从一个步骤到另一个步骤的链接,这就是为什么每个结帐页面都在店面配置中注册为语义页面的原因。checkout默认路由配置如下:provideConfig({routing:{routes:{checkout:{paths:['checkout'],},checkoutShippingAddress:{paths:['checkout/shipping-address']},checkoutDeliveryMode:{paths:['checkout/delivery-mode']},checkoutPaymentDetails:{paths:['checkout/payment-details']},checkoutReviewOrder:{paths:['checkout/review-order']}},},}}),上面代码位置:default-routing-config.ts虽然默认checkout有四个步骤,但是默认配置定义了五个语义页面。这个额外的页面有一个通用的结账路由,链接到每个应该重定向到结账的组件。从这个常规结帐页面,Spartacus重定向到特定且正确的结帐步骤。如果您想链接到结帐,请指向此通用结帐页面,无论您的结帐流程是如何专门设计的。例如,对于多步结账,您可以使用CheckoutGuard重定向到正确的结账步骤。通过单步检出,您可以在此检出路径上设置所有组件,并从组件配置中删除CheckoutGuard。除了路由配置外,checkout还可以通过定义每个步骤的职责、页面的路由以及步骤的顺序来配置。默认配置如下:id属性应具有唯一值。当需要识别配置中的特定步骤时,可以使用id。使用CheckoutProgress组件中的名称属性来指示哪些结帐步骤已完成。此名称也用作翻译关键字。routeName属性指定每个步骤的语义页面。类型属性由结账守卫使用。