The Recommendations controller exposes a method for retrieving recommendations content in a commerce interface.

Example: recommendations.fn.tsx

interface Recommendations {
    state: RecommendationsState;
    interactiveProduct(props: InteractiveProductProps): InteractiveProduct;
    pagination(props?: PaginationProps): Pagination;
    promoteChildToParent(child: ChildProduct): void;
    refresh(): void;
    subscribe(listener: () => void): Unsubscribe;
    summary(): Summary;
}

Hierarchy (View Summary)

Buildable controllers - Recommendations

Methods

Buildable controllers - Recommendations

A scoped and simplified part of the headless state that is relevant to the Recommendations controller.

Methods

  • Creates an InteractiveProduct sub-controller.

    Parameters

    Returns InteractiveProduct

    An InteractiveProduct sub-controller.

  • Creates a Pagination sub-controller.

    Parameters

    • Optionalprops: PaginationProps

      The optional properties for the Pagination sub-controller.

    Returns Pagination

    A Pagination sub-controller.

  • Finds the specified parent product and the specified child product of that parent, and makes that child the new parent. The children and totalNumberOfChildren properties of the original parent are preserved in the new parent.

    This method is useful when leveraging the product grouping feature to allow users to select nested products.

    E.g., if a product has children (such as color variations), you can call this method when the user selects a child to make that child the new parent product, and re-render the product as such in the storefront.

    Note: In the controller state, a product that has children will always include itself as its own child so that it can be rendered as a nested product, and restored as the parent product through this method as needed.

    Parameters

    • child: ChildProduct

      The child product that will become the new parent.

    Returns void

  • Fetches the recommendations.

    Returns void

  • Adds a callback that's invoked on state change.

    Parameters

    • listener: () => void

      A callback that's invoked on state change.

    Returns Unsubscribe

    A function to remove the listener.

  • Creates a Summary sub-controller.

    Returns Summary

    A Summary sub-controller.