Skip to content

Storefront plugins and helper

Storefront plugins and helper

This is a list of available javascript plugins and helpers that can be used and extended.

Plugins

PluginDescriptionNotes
AccountGuestAbortButtonPluginUsed on the logout button to fire a guest-logout event after logging out from a guest session.---
AddToCartPluginSubmits the form that adds a product to the cart and opens the OffCanvasCart. E.g., used on product buy buttons.---
AddToWishlistPluginAdds or removes a product from the wishlist and toggles the indicator (heart icon) that displays if the current product is on the wishlist. Also updates the wishlist counter in the main header.---
AddressEditorPluginOpens a modal to edit the billing or shipping address.---
AjaxModalPluginThis class extends the Bootstrap modal functionality by adding an event listener to modal triggers that contain a special "data-url" attribute which is needed to load the modal content by AJAX.---
BaseSliderPluginProvides basic slider functionality to a container with sliding elements. Uses the "tiny-slider" framework in the background.---
BaseWishlistStoragePluginProvides basic storage logic to add, remove and get products from the wishlist. Used by the local storage wishlist (if user is guest) and the persisted wishlist (if used is logged in).---
BasicCaptchaPluginProvides the JS functionality for the basic captcha that can be activated in storefront sales channel. Only works with a corresponding form.---
BuyBoxPluginRefreshes the buy box area on the product detail page after switching to a different product variant. Re-initializes the tax info modal.---
CartWidgetPluginControls the cart widget in the main header that displays the total cart amount. Updates automatically if a product is added to the cart.---
ClearInputPluginAdds clear functionality to input fields.---
CmsGdprVideoElementShows a consent overlay before rendering an external CMS video element, e.g. from YouTube. Only when the user provides consent, the actual video will be loaded.---
CollapseCheckoutConfirmMethodsPluginDisplays a "show more" button when too many shipping or payment methods are shown. Used on the checkout page.---
CollapseFooterColumnsPluginEnables collapsing containers (accordion) on mobile viewports for the columns in the page footer.---
CookieConfigurationControls the detailed cookie configuration (displayed in an OffCanvas). Displays the available cookies with checkboxes and saves the selected user preference.---
CookiePermissionPluginControls the cookie banner at the bottom of the page when no cookie preference is set. Can either save a preference directly via button or open the cookie configuration OffCanvas.---
CountryStateSelectPluginRenders an additional select box with country states (e.g. "North-Rhine-Westphalia") if a country was selected. E.g., used in the registration form.---
CrossSellingPluginUsed to re-initialize the product sliders when toggling between different cross-selling tabs that contain product sliders.---
DateFormatThis plugin formats a date and converts it to the local timezone if the data attribute date-format is set.---
DatePickerPluginControls the date picker component. Shows a datepicker UI when applied to an input field.---
EllipsisPluginUsed to expand or shrink a text.Deprecated and removed in v6.6.0
FadingPluginCollapses or expands a Bootstrap collapse container with additional "more" or "less" links.Deprecated and removed in v6.6.0
FilterBasePluginProvides basic functionality for a product listing filter. Communicates with the ListingPlugin. Other filters like "multi select" extend from this plugin class.---
FlyoutMenuPluginThis Plugin handles the subcategory display of the main navigation.---
FormAddHistoryPluginProvides an API to push items into the browser history after a form was submitted. Only works on a <form> element.---
FormAjaxSubmitPluginThis plugin submits a form with ajax without reloading the page, instead of performing a regular form submit.---
FormAutoSubmitPluginThis plugin automatically submits a form, when the element or the form itself has changed.---
FormCmsHandlerSends forms from the CMS (e.g. contact form) via ajax and renders additional error/success messages.---
FormFieldTogglePluginProvides functionality to display or hide additional form fields without reloading the page. E.g., used in the registration form when shipping and billing addresses are different.---
FormPreserverPluginThis plugin preserves a form, if the element or the form itself has changed. After a reload of the page the form is filled up with the stored values.---
FormScrollToInvalidFieldPluginThis plugin scrolls to invalid form fields when the form is submitted.---
FormSubmitLoaderPluginThis plugin shows a loading indicator on the form submit button when the form is submitted.---
FormValidationThis plugin validates fields of a form. Also styles the field elements with the bootstrap style if enabled.---
GoogleAnalyticsPluginAdds all events for Google Analytics and configures the gtag. Only used when "Analytics" is activated in the sales channel.---
GoogleReCaptchaBasePluginProvides basic functionality to apply a Google reCAPTCHA to a <form> element. The JS-plugins for reCAPTCHA v2 and v3 extend this plugin.---
GuestWishlistPagePluginUsed on the /wishlist page/route to display the products currently on the wishlist. Displays wishlist items from local storage if the user is a guest.---
ImageZoomPluginEnables functionality to zoom into an image, e.g. using the mouse wheel. Used inside the image zoom modal on the product detail page. Works together with ZoomModalPlugin.---
ListingPluginProvides the filter functionality of the product listing. Gets the current values of each filter, current sorting and pagination. Generates the requests and displays the new results.---
MagnifierPluginHandles the magnifier lens functionality on the detail page.---
OffCanvasAccountMenuOpens the account dropdown menu ("user avatar" icon in header) inside an OffCanvas on mobile viewports.---
OffCanvasCartPluginOpens the shopping cart in an OffCanvas. Used on the shopping cart display in the main header.---
OffCanvasFilterOpens the listing filters inside an OffCanvas when the mobile "Filter" button is clicked. Only used on mobile viewports.---
OffCanvasTabsUsed on mobile viewports to open or show contents in an OffCanvas that are shown in Bootstrap tabs on larger desktop viewports. E.g., used on the product detail page to open the reviews on mobile.---
OffcanvasMenuPluginDisplays the main category navigation inside an OffCanvas on mobile viewports. Triggered by the mobile "hamburger" menu icon.---
QuantitySelectorPluginEnables functionality to select a product's quantity. Controls the increase (+) or decrease (-) buttons. E.g., used on the product detail page or in the checkout.---
RatingSystemPluginControls the rating stars when the user is writing a product review and lets the user select a star rating between 1 and 5.---
RemoteClickPluginThis plugin is used to remotely click on another element.---
ScrollUpPluginDisplays a small button with an "arrow up" icon to scroll back to the top of the page. Used on all pages and only displayed when the user has scrolled down the page.---
SearchWidgetPluginRenders a dropdown with search result suggestions underneath the main headers search input field, as soon as the user starts to type a search term.---
SetBrowserClassPluginAdds CSS classes to the <body> element depending on the current device, e.g. is-ipad. These classes can be used to add styling for a specific device category.---
SpeculationRulesPluginIf this javascript plugin is activated via Admin > Settings > System > Storefront, it adds speculation rules for the main navigation, the product listing and the header logo.---
VariantSwitchPluginThis plugin submits the variant form with the correct data option. Used on the product detail page to switch between product variants.---
WishlistWidgetPluginShows how many items are currently on the wishlist. Used by the wishlist "heart" icon inside the main header.---
ZoomModalPluginOpens a full-screen modal window with an image gallery. Can contain multiple images that the user can zoom into. Used on the product detail page.---

Helpers

HelperDescriptionNotes
ArrowNavigationHelperHelper to navigate between different items using the arrow keys. Used by SearchWidgetPlugin---
CookieStorageHelperProvides a nicer API to add or remove cookies.---
DateFormatHelperWrapper helper to format a date string or object using Intl.DateTimeFormat---
DebouncerWait for a defined amount of time. Basically a wrapper around setTimeout.---
DeviceDetectionReturns information about the current device, e.g. if it is a touch device.---
DomAccessHelper function to access DOM elements in a unified way and improved error handling.---
ElementReplaceHelperHelper to replace a desired DOM element with another DOM element.---
FeatureSingletonOffers an API to check if specific feature flags are currently activated.---
IteratorHelper function to iterate over different data types in a unified way (array, objects etc.)---
MemoryStorageThis class is mainly a fallback if the session, local or cookie storage fails.---
NativeEventEmitterEvent Emitter which works with the provided DOM element. The class isn't meant to be extended.---
StorageSingletonWrapper API that can use local, session or cookie storage in the background.---
StringHelperProvides different string formatters, e.g. converting into "UpperCamelCase"---
ViewportDetectionReturns the currently active Bootstrap viewport, e.g. LG or XL---