Book Image

Mastering Adobe Commerce Frontend

By : Jakub Winkler
Book Image

Mastering Adobe Commerce Frontend

By: Jakub Winkler

Overview of this book

Navigating the frontend realm of the Adobe Commerce platform can often feel like a labyrinth, given its multifaceted systems and intricate layering. This book demystifies Adobe Commerce frontend development, guiding you through its paths with clarity and precision. You'll learn how to set up your local environment, paving the way for a smooth development experience and navigate the platform's theming ecosystem, exploring layout XML systems and the power of templates. As you progress through the book, you'll leverage an array of JavaScript libraries and frameworks that Adobe Commerce boasts of, with special emphasis on RequireJS, jQuery, Knockout.JS, and UI Components. Additionally, you'll gain an understanding of the intricacies of Adobe Commerce CMS, explore frontend-related configurations in the admin panel, and unlock the secrets of frontend optimization. Practical exercises provided in the book will enable you to create top-notch Adobe Commerce sites that are functional, optimized, user-centric, and a step ahead in the ever-evolving frontend landscape.
Table of Contents (18 chapters)

List of commonly used libraries

The main location for our custom JavaScript files is lib/web/mage, as shown:

Figure 11.1 – Location of custom JavaScript libraries

Figure 11.1 – Location of custom JavaScript libraries

Some of the widgets can be created within the theme directory, or they can be defined in a module. As an example, the Magento_Ui module comes with a lot of widgets that can be found in the vendor/magento/module-ui/view/base/web/js/ directory.

In the next few pages, I’ll show you three examples from the vast library of JavaScript widgets that are embedded in the platform.

Accordion widgets

Accordions are typically utilized to split up content into several segments that can be alternated, which helps conserve space on a page. To create an accordion widget, we simply call it using the following:

$("#element_id").accordion();

This widget does not require any configuration—just a proper HTML structure. We can call it using an imperative notation:

&lt...