Plugins, Frage zu CSS und LESS

Ich wollte mal fragen wir ihr das am besten macht. Ohne Einstellungsmöglichkeiten werden bei den Plugins CSS und LESS in separaten Dateien ausgelagert und eingebunden. Wenn ich dem User Einstellungsmöglichkeiten von den Styles gebe müssen ja Smarty Variablen genommen werden, welches ich bisher über in den *.tpl Dateien gelöst habe. Gibt es da eine elegantere Möglichkeit die Vars an *.css oder less weiter zu reichen? je nach var in der tpl ein anderes File zu laden wäre ein Weg, in meinen Augen aber nicht wirklich optimal…

Hi du kannst doch deine Konfiguration aus Bootstrap heraus direkt an deine .less Files übergeben! Schau dazu mal in die DevDocs.

ahh danke, ja lesen kann von Vorteil sein^^

Ich habe mir ganze nun angeschaut und auf den Git Labs und anderen Plugins mal nachgeschaut. So ganz ist mir das aber noch nicht klar geworden. Bevor ich jetzt ewig am rumprobieren bin, dachte ich mir ich frage hier einfach nochmal nach. Über ein kleines Code Beispiel würde ich mich sehr freuen. Ich möchte verschiedene Vars an Less übergeben welche dann die default Werte im LESS File ersetzen. public function addLessFiles(Enlight\_Event\_EventArgs $args) { $less = new \Shopware\Components\Theme\LessDefinition( //configuration array( ".devpro\_xy\_container" =\> array( "height:" =\> $this-\>Config()-\>devpro\_xy\_container\_height ) ), LESS File [code] @media screen and(min-width: @tabletViewportWidth) { .devpro_xy_container { height: 3rem; //

Das wäre mein 2. Ansatz bisher auch ungetestet. Wie schon zuvor erwähnt würde ich mich über nen kleines Codebeispiels freuen bevor ich nun alles durchtesten muss. //import directory $this-\>Path() . '/Views/frontend/\_public/src/less/all.less' ); $less-\>setVariables(array( "height" =\> $this-\>Config()-\>devpro\_xy\_container\_height )); $less-\>compile(".devpro\_xy\_container { height: @height; }", $this-\>Path() . '/Views/frontend/\_public/src/less/all.less'); return new Doctrine\Common\Collections\ArrayCollection(array($less));

Nur mal grob und ohne Defaultwerte: public function addLessFiles(Enlight\_Event\_EventArgs $args) { $less = new \Shopware\Components\Theme\LessDefinition( //configuration array( 'varfürless' =\> $this-\>Config()-\>get('varausconfig') ), //less files to compile array( \_\_DIR\_\_ . '/Views/frontend/\_public/src/less/all.less' ), //import directory \_\_DIR\_\_ ); return new Doctrine\Common\Collections\ArrayCollection(array($less)); } less: .blablub { height: @varfürless; }

1 „Gefällt mir“

Besten Dank :thumbup: