Home > widget-integration > InstantSearchService > filterWidgetProducts
InstantSearchService.filterWidgetProducts() method
Filter and transform products for display.
Extension point for TS teams to add shop-specific product filtering. The base implementation transforms product prices via transformProductPrices() — override to add additional filters (availability, tags, vendor, metafields, etc.).
**Legacy**: transformProductPrice(context, products) — not overridable **New**: Protected method with full override capability
Signature:
protected filterWidgetProducts(products: ProductItem[], searchSettings: SearchSettings$1): ProductItem[];
Parameters
|
Parameter |
Type |
Description |
|---|---|---|
|
products |
ProductItem[] |
Raw product array from the API |
|
searchSettings |
Current search settings |
Returns:
ProductItem[]
Filtered and price-transformed product array
Example
window.boostWidgetIntegration.extend('InstantSearchService', (InstantSearchService) => {
return class CustomService extends InstantSearchService {
protected filterWidgetProducts(products, searchSettings) {
// Only show in-stock products in ISW results
const available = products.filter(p => p.available);
return super.filterWidgetProducts(available, searchSettings);
}
};
});