Theme.php createMediaField fehlerhaft

Hallo zusammen,

ich habe in meiner Theme.php ein MediaField hinzugefügt.

$headerImage = $this->createMediaField(
            'headerimage',
            'Header Bild',
	        'src/img/headerImage.png',
	        ['attributes' => ['lessCompatible' => true]]
        );

 

Das Feld hänge ich ans Fieldset, Das Fieldset an den Tab und den Tab an den container. Funktioniert auch soweit.

Es ist lessCompatible true weil ich die Variable in meinen Less files als background image einsetzen möchte.

Sobald ich nun im Backend im Theme Manager ein Bild hinterlege und das Theme kompiliere bekomme ich eine Fehlermeldung (ParseError: Unexpected input on line 1, column 3193) mit allen Variabeln aufgelistet.

Bei der Variable mit meinem neuem Media Field ist nun der Pfad zum Media Ordner hinterlegt jedoch befindet sich hier am Ende des Pfades ein  " , am Anfang aber nicht.

Kann es sein, dass es deswegen zum Fehler kommt? 

Der Grunt compiler wirft folglich auch einen Fehler und ich kann mein CSS nicht mehr kompilieren.

Hat jemand ne Idee woran das liegen kann? Ist das ein Bug? Mach ich irgendwas falsch?

Also scheinbar liegt das an dem lessCompatible true in Kombination mit dem createMediaFile().

Hier läuft beim kompilieren was falsch. In der config.json ist ein " zu viel.
Ich habe dafür keine Lösung. Vielleicht kann sich das SW mal anschauen. Ich habe nicht herausgefunden wo das zusammen gesetzt wird.

Habe jetzt einen Workaround gemacht wie ich ein Bild, welches über die Theme Config pflegbar ist, in meine Less Files bekomme.

Ich habe jetzt einfach ein createTextField() angelegt und kopiere da den Bild Pfad aus dem Mediamanager mit “…”. Diesen String nutze ich dann über die Variable in meinem Less-File. Ist zwar unschön aber hilft ja erstmal nix.

Grüße
Nicole

Hallo,

der Eintrag ist schon etwas älter, ich stehe aber vor dem gleichen Problem und grabe den deshalb mal nochmal aus. Woanders hab ich auch keine Lösung dazu gefunden. Den Workaround mit dem Textfeld hab ich auch gerade umgesetzt. Ist aber wirklich nicht schön.

Gibt es da schon eine Lösung für das Problem mit dem MediaField bzgl. der Less-Kompatibilität?

 

Gruß,

Marcel

Hi,

ich bin auch gerade auf das Problem gestoßen… wäre schön wenn das mal behoben wird. Der Workaround mit Textfeldern funktioniert zwar, ist für den Kunden aber nicht die beste Lösung!

Hallo Ihr Lieben,

ich habe für das Thema mal ein Ticket angelegt. Wir werden das entsprechend prüfen.

Ihr könnt den Status hier verfolgen:
Shopware Issuetracker

Sonnige Grüße,
Phil

@Philipp Schuch

Ich habe das gleich Problem und das Ticket wurde ja auch schon umgesetzt allerdings für die 5.3 RC2, gibt es da auch eine Lösung für die 5.2 er? 

Viele Grüße Philipp 

Der einzige mir bekannte Workaround ist: ‚lessCompatible‘ => false. Hat natürlich den Nachteil das das Feld nicht als Less Variable verfügbar ist.

$this->createMediaField('title', 'Title', '', [
  'attributes' => [
    'lessCompatible' => false,
  ]
]);

 

Ja das habe ich auch gelesen, aber ich brauche es als Less Variable, hier wurde das Problem ja schon gelöst. https://issues.shopware.com/issues/SW-19185 Aber halt nur für die 5.3. 

Wäre super wenn das auch in der 5.2er gehen würde.