Back-office themes cannot be used in the storefront and vice versa. The two systems have separate architectures and are not interchangeable.
Theme Types
Storefront Themes
Themes for the OroCommerce customer-facing storefront. Built on the OroLayouts framework with full layout update support.
Back-Office Themes
Themes for the Oro application back-office. A single-page application using Twig and Underscore.js templates with placeholder-based extensibility.
Additional Topics
JavaScript Architecture
Client-side architecture built on Chaplin and Backbone.js. Shared by both storefront and back-office with different JS module registration.
Storefront Style Guide
Create and customize OroCommerce storefront themes using Figma design files and the atomic design system.
Right-to-Left UI Support
Oro supports right-to-left (RTL) user interface development. To enable RTL:Enable RTL for a localization
Select the Enable RTL Mode checkbox under System > Localization > Localizations.
Mark the theme as RTL-ready
Set the
rtl_support: true option in the theme’s theme.yml configuration file. This triggers generation of an additional *.rtl.css output file during the build.Markup
For storefront layout development, use theis_rtl_mode_enabled context value:
oro_is_rtl_mode() function:
Left-aligned values in RTL
Certain values — ZIP codes, phone numbers, PO numbers, SKUs, email addresses — should remain left-aligned regardless of text direction. Wrap them in a<bdo> tag:
JavaScript
Use the_.isRTL() mixing from underscore when functionality needs to change at the JavaScript level:
Auto-RTL style inputs
By default, all styles from Oro bundles are automatically processed by the RTLCSS post-processor. Extend the allowlist to include custom styles:Build command
Use the standard build command. Add--skip-rtl to skip RTL style generation during development: