Home > widget-integration > CartService > getCartDrawerRecommendationData

CartService.getCartDrawerRecommendationData() method

Get recommendation widget data for cart drawer template rendering.

Delegates to CartDrawerRecommendationService for data fetching and formatting. The service handles: validation, API calls, price formatting.

Override this method in CartService for cart-specific customizations. For recommendation-specific customizations, extend CartDrawerRecommendationService.

Signature:

protected getCartDrawerRecommendationData(showCurrencyCodes: boolean): Promise<CartDrawerRecommendationTemplateData | Record<string, never>>;

Parameters

Parameter

Type

Description

showCurrencyCodes

boolean

Whether to show currency codes in formatted prices

Returns:

Promise<CartDrawerRecommendationTemplateData | Record<string, never>>

Promise resolving to object containing widget data, or empty object if disabled

Example

Override to add cart-specific data

protected async getCartDrawerRecommendationData(showCurrencyCodes: boolean) {
  const data = await super.getCartDrawerRecommendationData(showCurrencyCodes);
  if (data.products) {
    // Filter out products already in cart
    const cartProductIds = await this.getCartProductIds();
    data.products = data.products.filter(p => !cartProductIds.includes(p.id));
  }
  return data;
}