Custom CSS & Custom JavaScript
Description
Highlights
About the Extension
Custom code usually ends up somewhere in the theme, where it is hard to find, hard to switch off and only editable by someone with file access. This extension moves that code into the administration and stores it in named containers. Each container holds a CSS/SCSS block and a JavaScript block, has its own active switch, and can be assigned to specific sales channels or left open for all of them.
The CSS is passed to the theme compiler together with the rest of the theme styles. SCSS syntax and existing theme variables such as $primary or $font-family-base therefore work directly in the editor, and the result ends up in the regular theme stylesheet. The JavaScript is written into the theme's script directory during compilation and delivered as a static asset.
Not every snippet belongs on every page. A container can be limited to selected pages or excluded from them. A page counts as selected as soon as one criterion matches: the page type (home page, category listing, product detail, search, cart, the checkout steps, account pages, landing and CMS pages), a URL path with wildcards, a product including its variants, a category with or without its subcategories, or a landing page. Matching happens while the page is rendered, so criteria can be adjusted at any time and apply on the next page view. Switching the delivery mode itself or editing the code needs a compilation, which the Save & Compile button takes care of.
The JavaScript of a restricted container is wrapped in a condition, and its CSS is rewritten automatically so that every selector only applies below the matching body element. Nested media, supports, container and layer blocks are rewritten as well.
For scripts that need consent, a cookie name can be stored per container. The JavaScript then waits until that cookie exists with a value and starts as soon as the visitor accepts, without a page reload. The container can register itself in the cookie consent manager of the storefront as its own entry, or rely on a cookie that an external consent tool sets. This binding applies to JavaScript; CSS is always loaded.
Every save writes a snapshot with the code, all settings and the user who saved it. The last 20 snapshots per container stay available, are listed with date and user name, and can be loaded back into the form. What is currently live stays untouched until the restored state is saved.
Details
- Available: English, German
- Latest update: 12 August 2026
- Publication date: 20 August 2024
- Version: 2.1.0
- Category: Special features
Resources
Reviews (3)
Super Plugin
Einfacher geht nicht
Super Plugin
About the Extension Partner
weedesign
Partner Status
-
Shopware
Extension Partner
Details
- Ø-Rating: 4.9
- Partner since: 2019
- Extensions: 49
Support
- Based in: Germany
- Speaks: German, English
- Response time: Very quickly