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;
}