Skip to main content Skip to search Skip to main navigation
Diese Seite ist auch auf Deutsch verfügbar.
PremSoft

Custom JavaScript/CSS Manager for Shopware 6

Rating: 4.9

Average rating of 4.9 out of 5 stars

(42 reviews)
Downloads: 9,659

Description

Features

  • Code editor with syntax highlighting for JavaScript and SCSS
  • Management and structuring of multiple code snippets by separate containers
  • Compilation of themes including custom CSS/JavaScript via one click within the administration

About the Extension

This plugin features a backend container manager to easily add custom JavaScript and/or CSS/SCSS to the theme compilation.

The plugin offers the following features:

  • Create unlimited containers of JavaScript and/or CSS/SCSS
  • SCSS variables and mixins are inherited from themes and plugins and can be accessed
  • JS/CSS is injected into theme compilation. This means no dependency conflicts or additional resource requests.

The module will be accessible in the administration by a new menu entry called "Custom CSS/JS" under "Settings" within the sidebar.

If you are looking for a way to alter the HTML of the templates in your shop please see the plugin Custom Template Manager

Details

  • Available: English, German
  • Latest update: 30 September 2025
  • Publication date: 20 February 2020
  • Version: 5.0.3
  • Category: Special features

Resources

Reviews (42)

Average rating
4.9

Average rating of 4.9 out of 5 stars

Based on 42 reviews
5.0 Functionality
5.0 Usability
4.8 Documentation
2.1 Support

95 %
5 %
0 %
0 %
0 %

Write a review

If you downloaded this extension you can write a review in the Shopware Account.

Write a review
Danke
5.0

Average rating of 5 out of 5 stars

by Alexander Lembert
13 April 2024 16:28
...war das hilfreichste überhaupt!
5.0 Functionality
5.0 Usability
5.0 Documentation
5.0 Support
Question
5.0

Average rating of 5 out of 5 stars

by Mateusz Zmuda
13 March 2024 13:58
Do you also have error in admin panel?

mode-scss.js:1 Uncaught ReferenceError: ace is not defined
5.0 Functionality
5.0 Usability
5.0 Documentation
5.0 Support
by PremSoft 31 March 2024 18:33
You can safely ignore this error. The editor in theory has some extended functionality, e.g. for SCSS auto completion. Shopware either doesn't ship with some of these optional assets or they may be outdated, as the code editor is mostly just used for HTML elsewhere. Basic syntax highlighting should still work though.
Liebe das Plugin, aber es erzeugt seit Version 6.5.8.4 einen Javascript-Fehler
5.0

Average rating of 5 out of 5 stars

by Christian Lübke
15 February 2024 17:33
Uncaught TypeError: Class extends value undefined is not a constructor or null
at 649 (all.js?1708014445:17:10525)
at o (all.js?1708014445:4:128)
at all.js?1708014445:17:14028
at o.O (all.js?1708014445:4:398)
at all.js?1708014445:17:14048
at r (all.js?1708014445:4:1212)
at all.js?1708014445:17:56


649: (t,e,i)=>{
var s = i(1635)
, n = i(8681)
, r = i(6182)
, a = i(4865)
, o = i(9684)
, l = i(4129);
class d extends s.Z {
async init() {
await async function() {
var t, e;
if (window.threeJs || (window.threeJs = await import(`${window.themeAssetsPublicPath}js/three-js/build/three.module.min.js`)),
window.threeJsAddons || (window.threeJsAddons = {}),
null === (t = window.threeJsAddons) || void 0 === t || !t.OrbitControls) {
const {OrbitControls: t} = await import(`${window.themeAssetsPublicPath}js/three-js/examples/jsm/controls/OrbitControls.js`);
window.threeJsAddons.OrbitControls = t
}
if (null === (e = window.threeJsAddons) || void 0 === e || !e.GLTFLoader) {
const {GLTFLoader: t} = await import(`${window.themeAssetsPublicPath}js/three-js/examples/jsm/loaders/GLTFLoader.js`);
window.threeJsAddons.GLTFLoader = t
}
}();
const t = this.el.closest(".cms-spatial-viewer-container");
t.querySelector(".spatial-open-fullscreen-btn").addEventListener("click", this.openFullScreen.bind(this)),
t.querySelector(".spatial-close-fullscreen-btn").addEventListener("click", this.closeFullScreen.bind(this)),
this.$emitter || (this.$emitter = this.el.$emitter),
this.initViewer(!0)
}
closeFullScreen() {
var t, e;
null === (t = this.el.closest(".cms-spatial-viewer-container")) || void 0 === t || t.classList.remove("spatial-fullscreen-view"),
null === (e = this.el.closest("body")) || void 0 === e || e.classList.remove("spatial-viewer-remove-scroll-bars")
}
openFullScreen() {
var t, e;
null === (t = this.el.closest(".cms-spatial-viewer-container")) || void 0 === t || t.classList.add("spatial-fullscreen-view"),
null === (e = this.el.closest("body")) || void 0 === e || e.classList.add("spatial-viewer-remove-scroll-bars")
}
initViewer(t) {
var e, i, s, d, h;
(super.initViewer(t),
null === (e = this.renderer) || void 0 === e || e.setClearColor(16777215, 0),
null === (i = this.camera) || void 0 === i || i.position.set(0, .6, 1.2),
null === (s = this.camera) || void 0 === s || s.lookAt(0, 0, 0),
null === (d = this.spatialOrbitControlsUtil) || void 0 === d || d.dispose(),
this.camera && this.renderer && (this.spatialOrbitControlsUtil = new a.Z(this.camera,this.renderer.domElement)),
this.spatialMovementNoteUtil = new o.Z(this),
this.spatialCanvasSizeUpdateUtil = new n.Z(this),
null == this.spatialLightCompositionUtil || t) && (null === (h = this.spatialLightCompositionUtil) || void 0 === h || h.dispose(),
this.scene && (this.spatialLightCompositionUtil = new l.Z(this.scene)));
if ((null == this.spatialObjectLoaderUtil || t) && (this.spatialObjectLoaderUtil = new r.Z(this)),
null == this.model || t) {
var c;
const t = null === (c = this.el) || void 0 === c ? void 0 : c.dataset.spatialModelUrl;
if (null == t)
return;
this.spatialObjectLoaderUtil.loadSingleObjectByUrl(t, {
center: !0,
clampSize: !0,
clampMaxSize: {
x: 4 / 3,
y: 1,
z: 4 / 3
}
}).then((t=>{
var e, i, s;
this.model = t,
this.scene && this.scene.add(this.model),
null === (e = this.el) || void 0 === e || null === (i = e.closest(".cms-spatial-viewer-container")) || void 0 === i || null === (s = i.querySelector(".spatial-canvas-spinner")) || void 0 === s || s.classList.add("d-none"),
this.setReady(!0)
}
)).catch((()=>{
var t, e, i;
null === (t = this.el) || void 0 === t || null === (e = t.parentElement) || void 0 === e || null === (i = e.parentElement) || void 0 === i || i.classList.add("spatial-cms-canvas-disabled")
}
))
} else {
var u, p, v;
null === (u = this.el) || void 0 === u || null === (p = u.closest(".cms-spatial-viewer-container")) || void 0 === p || null === (v = p.querySelector(".spatial-canvas-spinner")) || void 0 === v || v.classList.add("d-none"),
this.setReady(!0)
}
super.startRendering()
}
preRender(t) {
var e, i;
null === (e = this.spatialCanvasSizeUpdateUtil) || void 0 === e || e.update(),
null === (i = this.spatialOrbitControlsUtil) || void 0 === i || i.update()
}
postRender(t) {}
}
window.PluginManager.register("SpatialCmsViewerPlugin", d, "[data-spatial-cms-viewer]")
}
5.0 Functionality
5.0 Usability
5.0 Documentation
5.0 Support
by PremSoft 16 February 2024 15:35
Hey, kannst du die Fehlermeldung bitte entfernen? Habe die ja jetzt gesehen und die ist sehr lang, was die Seite ein bisschen unübersichtlich macht. ;) Das wird wohl ein Konflikt sein, den das SpatialCmsViewerPlugin verursacht. Ich glaub das ist Teil von kommerziellen Features, die in einem der Pläne enthalten sind. Auf die kommerziellen Closed-Source Features habe ich als Open-Source Entwickler keinen Zugriff und kann den Fehler daher nicht debuggen.

Update: Nach erneuter Betrachtung des Fehlers stellt sich heraus, dass es sich hier wohl um JavaScript handelt, das im Storefront ausgeführt wird. Dieses Plugin hier hat jedoch keinerlei Einfluss darauf. Es injiziert lediglich das selbstgeschriebene JavaScript des Nutzers. Letzteres kann natürlich ausschlaggebend sein. Vielleicht einfach mal das eigene JavaScript testweise entfernen und schauen ob es daran liegt. Abgesehen von Eingaben des Nutzers, dürfte dieses Plugin im Storefront jedoch keineswegs zu Fehlern führen. Wenn es nicht am eigenen Code liegt, am besten direkt an den Shopware-Support wenden.
test
5.0

Average rating of 5 out of 5 stars

by p625885 User
8 January 2024 14:53
-
5.0 Functionality
5.0 Usability
5.0 Documentation
5.0 Support
Funktioniert leider nicht mehr unter 6.5.6.1
5.0

Average rating of 5 out of 5 stars

by Roman Herbig
2 November 2023 22:32
Ich nutze das Plugin sehr gerne. Unter der 6.5.6.1 erscheint das Menü zum Plugin nicht mehr unter dem linken Seitenmenü - das Custom Template Modul dagegen schon. Daher gerne ein Update nachschieben. Danke für die stetige Entwicklung!
5.0 Functionality
5.0 Usability
5.0 Documentation
5.0 Support
by PremSoft 2 November 2023 23:03
Tut mir leid zu hören, dass es da an etwas hakt. Ich habe es gerade auf einer frischen 6.5.6.1 Installation getestet und konnte das Problem nicht nachstellen. Ähnliche Probleme mit dem Menüeintrag gab es vereinzelt immer mal wieder in der Vergangenheit, unabhängig um welches Plugin es sich handelte. In der Regel hat ein wiederholtes De-/Reinstallieren dann doch geholfen. Eventuell sind auch die Assets des Plugins, wie auch immer, verändert oder gelöscht worden. Ich würde das Plugin einmal wie gewohnt deinstallieren (und auf Nachfrage die Daten nicht vollständig löschen). Anschließend kann das dann deinstallierte Plugin komplett entfernt werden in der Verwaltung der Erweiterungen. Das sollte den kompletten Ordner unter `custom/plugins/DneCustomCssJs` löschen und falls das nicht der Fall sein sollte, müsste der Order einmal manuell gelöscht werden. Abschließend kann das Plugin über den Store erneut heruntergeladen und installiert werden. Falls es dann immer noch nicht funktionieren sollte, bitte ich noch einmal Rückmeldung.
Absolut top!
5.0

Average rating of 5 out of 5 stars

by Michael
19 September 2023 18:44
Ein Must-Have in jeder Shopware-Installation ?
5.0 Functionality
5.0 Usability
5.0 Documentation
0.0 Support
Nützlich
5.0

Average rating of 5 out of 5 stars

by Impuls
3 August 2023 10:07
-
5.0 Functionality
5.0 Usability
5.0 Documentation
0.0 Support
by PremSoft 3 August 2023 18:07
Danke
Sehr nützliches Tool. Vielen Dank dafür!
5.0

Average rating of 5 out of 5 stars

by Marco Beckmann
2 November 2022 08:31
-
5.0 Functionality
5.0 Usability
5.0 Documentation
0.0 Support
Perfekt
5.0

Average rating of 5 out of 5 stars

by DK
27 September 2022 10:03
Tut was es soll und das ohne Fehler. Danke!!
5.0 Functionality
5.0 Usability
5.0 Documentation
0.0 Support
Macht was es soll
5.0

Average rating of 5 out of 5 stars

by Steffen Brüggemann
28 July 2022 11:41
Danke
5.0 Functionality
5.0 Usability
5.0 Documentation
5.0 Support

About the Extension Partner

Partner Status

  • Shopware Bronze Partner Shopware
    Bronze Partner
  • Shopware Premium Extension Partner Shopware
    Premium Extension Partner

Details

  • Ø-Rating: 5

    Average rating of 5 out of 5 stars

  • Partner since: 2015
  • Extensions: 33
  • Certifications: Certifications

Support

  • Based in: Germany
  • Speaks: German, English
  • Response time: Very quickly
Shopware 6 certified This Extension Partner has been certified by our Academy for Shopware 6.