是否有任何选项可以检查我的购物车是否已合并到斯巴达克斯并触发全局消息?



>我在我的市场应用程序中只集成了购物车页面,我想在合并购物车时显示全局消息。如何检查我的购物车是否已合并? 我没有看到任何可以使用的[合并]操作,mb还有其他东西吗?

如果您指的是购物车从anonymous合并到current用户,那么您需要挂钩到操作MERGE_CART_SUCCESS,即[Cart]合并购物车成功。

我希望这有帮助!

创建自己的MultiCartService并在调用mergeToCurrentCart时触发GlobalMessage

import { Injectable } from '@angular/core'
import {
GlobalMessageService,
GlobalMessageType,
MultiCartService,
StateWithMultiCart,
UserIdService,
} from '@spartacus/core'
import { Store } from '@ngrx/store'
@Injectable({ providedIn: 'root' })
export class YourMultiCartService extends MultiCartService {
constructor(
protected store: Store<StateWithMultiCart>,
protected userIdService: UserIdService,
private globalMessageService: GlobalMessageService
) {
super(store, userIdService)
}
mergeToCurrentCart({
userId,
cartId,
extraData,
}: {
userId: string
cartId: string
extraData?: {
active?: boolean
}
}) {
super.mergeToCurrentCart({ userId, cartId, extraData })
this.globalMessageService.add(
{ key: 'miniLogin.mergeCart' }, // <- add your Message/key here
GlobalMessageType.MSG_TYPE_CONFIRMATION
)
}
}

不要忘记将服务添加到应用模块的providers部分:

providers: [
...,
{
provide: MultiCartService,
useExisting: YourMultiCartService,
},
]

最新更新