SwagEmotionAdvanced CSS (z.B. von quickview) mit eigenem CSS überschreiben

Eure Hilfe ist gefragt! :slight_smile:

Folgende Ausgangssituation:

Ich möchte mehrere CSS Anpassungen für ein SWAG EMOTION Plugin vornehmen, z.B. Quickview (hier z.b. padding, font, und width und mehr verändern).

Üblich für “normales” CSS ist ja (1) im eigenes Theme entsprechende LESS Datei anlegen (…/themes/Frontend/MYTHEME/_public/src/less/…) und CSS anpassen. (2) Cache leeren und kompiolieren (3) CSS wird überschreiben & happy styling ist fertig.

Bei CSS von Plugins klappt das leider nicht so easy. Anscheinend werden wohl zunächst die CSS Datein vom THEME geladen und dann erst die CSS Datein von PLUGINs, weshalb eigne Anpassungen im …/MYTHEME/_public/src/less… immer überschrieben werden. !important ist keine Lösung, und in der Orginal Quickview CSS Datei unter …/custom/plugins/SwagEmotionAdvanced/Resources/frontend/less/_components/quickview.less will man auch nichts ändern - das ist ja nicht updatesicher.

(Bin also die Community durch und auch die DevDocs - leider ohne Lösung zu finden)

 

Hat jemand da ne Idee oder gleich Vorangehensweise, W ie ich CSS von SwagEmotionAdanced updatesicher überschreiben und eben anpassen kann?

 

Freu mich über eure Tipps. Danke!

 

Du kannst im Theme festlegen wann es geladen werden soll: https://developers.shopware.com/designers-guide/smarty/#template-inheritance

1 „Gefällt mir“

Cool, das hat für Qickview einwandfrei geklappt.

 

Eine Folgefrage:

Kann man für einzelne Plugins das vor oder danach laden bestimmen? Also zB. das AdvacendMenu Plugin vorm THEME laden und das SwagEmotionAdvanced danach?

(Hintergrund - wenn ich mit   protected $injectBeforePlugins = false;  Plugins nun nachm Theme laden lasse, mag das Advanced Menu nicht mehr).

Mach einfach zwei Themes - du hast eines was davor geladen wird und eines was danach geladen wird. In letzterem nimmst du nur Änderungen vor, die explizit ein Plugin überschrieben sollen.

1 „Gefällt mir“

Gibts dazu zufällig auch nen Step-by-Step Guide?

Im Theme Manager kann man ja weitere Themes erstellen aber es ist doch immer nur eins aktiv, oder überseh ich da was?

Ja, du würdest auch nur das “letzte” in der Reihenfolge aktiv schalten. Alles andere wird ja vererbt.

 

Die Reihenfolge wäre dann so:

Bare -> Responsive -> DeinTheme -> Plugins -> DeinTheme2

Das “DeinTheme2” würdest du dann aktiv schalten. Bei der Erstellung wählst du dann “ableiten von DeinTheme”

1 „Gefällt mir“

hi, wir versuchen auch das quickview.less zu überschreiben. haben die anleitungen hier probiert und leider noch eine frage. wenn wir zwei eigene themes machen und das zweite theme vom ersten ableiten gehen trotzdem einstellungen wie die farb-konfiguration verloren. und auch das demoshop logo erscheint wieder. also alle weiteren themes, die man immer darüber “legt” müssen auch wieder konfiguriert werden (also diese einstellugen im thememanager angepasst werden). oder kann das shopware autmatisch übernhemen und man kann dann wirklich nur änderungen explizit zu einem plugin machen lassen.

 

@Moritz Naczenski schrieb:

Du kannst im Theme festlegen wann es geladen werden soll: https://developers.shopware.com/designers-guide/smarty/#template-inheritance

 

gibt es auch noch eine möglichkeit ohne $injectbeforeplugins = true/false ?

Es gibt ein Plugin, mit dem man die Einstellungen ex- und importieren kann: