Skip to content

Routes

Shopgate Engage supports many routes out of the box in order to provide a full e-commerce experience.

You can customize these routes using Portals.

You cannot register your custom route under a default pattern or path name. This would result in duplicated content - default and custom.

However, you can customize most of the default content. You can find more information about possible customizations on route pages.

import {
INDEX_PATH
} from '@shopgate/engage/core';
import {
ITEM_PATH,
ITEM_PATTERN,
ITEM_GALLERY_PATTERN,
ITEM_REVIEWS_PATTERN,
ITEM_WRITE_REVIEW_PATTERN,
} from '@shopgate/engage/product';
import {
CART_PATH,
} from '@shopgate/engage/cart';
import {
CATEGORY_PATH,
ROOT_CATEGORY_PATTERN,
CATEGORY_PATTERN,
CATEGORY_FILTER_PATTERN,
} from '@shopgate/engage/category';
import {
FAVORITES_PATH,
} from '@shopgate/engage/favorites';
import {
PAGE_PATH,
} from '@shopgate/engage/page';
import {
SEARCH_PATH,
SEARCH_PATTERN,
} from '@shopgate/engage/search';

All the *_PATTERN constants are useful when trying to check what the current page is. For example:

const itemRouteDidEnter$ = routeDidEnter$.filter(({ action }) => (
action.route.pattern === ITEM_PATTERN
));

Sometimes there is no *_PATTERN constant. This occurs when there is no need for a pattern because routes always have the same pathname. For example, FAVORITES_PATH which is /favorites (without params).