Eigene CSS über die Theme.php einbinden

 Ich habe aktuell eine eigene CSS Datei über die header.tpl eingebunden. Ist nicht so optimal. Nun wollte ich diese an die gecachte anhängen und habe dazu folgenden Eintrag in der Theme.php vorgenommen. Leider funktioniert das so nicht. Trotz Cache löschen und Theme neu kompilieren.

 protected $css = array(
 'src/css/mein.css'
 );

Was habe ich übersehen?

 Versuch mal so: 

protected $css = [
    'src/css/my-awesome-styles.css'
];

 

1 „Gefällt mir“

Super. Das passt!

Danke.

Mit einer externen CSS Datei funktioniert das wohl nicht.

Oder packe ich die in meine per import rein?

Ja geht über den import in die eigene CSS. Probieren geht halt über studieren. :wink:

Habe ich jetzt mal Testweise mit dieser gemacht.

@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css");

Oder gibt es eine elegantere Möglichkeit um diese an den CSS Cache anzuhängen?

Du kannst meines Wissens deine CSS-Dateien im folgenden Ordner ablegen:

/custom/plugins//Resources/frontend/css

Dann werden sie gemeinsam mit dem restlichen Shopware-CSS komprimiert, gecached und als eine Datei ausgeliefert.
Analog funktioniert das auch mit LESS- und JS-Dateien. Hier werden dann die Ordner frontend/less bzw. frontend/js genutzt.

Meinst du das /custom im Theme Pfad oder das /custom im “Core” Pfad?

Bei der zweiten Version müßte ich ja ein Plugin erstellen um nur eine CSS einzubinden. Das wäre etwas übertrieben.

Mein Weg ist tatsächlich der für Plugins. Wenn es bei dir “nur” um ein Theme geht, habe ich dich eventuell missverstanden.
Die Pfadangabe gilt ausgehend vom Wurzelverzeichnis deiner Shopware-Installation.

Zu deinem vorherigen Beitrag: Soweit ich mich an das erinnere, was in der fragmentierten Doku und im Forum stand, rät Shopware selbst davon ab, eigene Stylesheets “an Shopware vorbei” direkt einzubinden. Wie es stattdessen gemacht werden soll, weiß ich dann allerdings auch nicht.

LG, Ion