Exotischer Bug in Shopware 5.3x

Ich gebe zu der Bug ist etwas Exotisch aber Bug ist Bug.
Ich habe mir ein Template abgeleitet vom Responsive Template da ich im Header Bereich ein Text Logo anstelle des Image Logos haben wollte.

Das Text Logo sollte an einer Bestimmten Stelle eine andere Farbe haben.
Das klappt auch alles ohne Probleme. Ich hatte mir eine if Abfrage eingebaut ob mein Textbaustein IndexLinkschriftlogo  befüllt ist oder nicht. 
Wenn dieser nicht befüllt ist sollten die Klassischen Image Logos ausgeben werden. Das funktioniert auch alles ohne Probleme .

Nun zum Bug.  Ich habe festgestellt, wenn man in der Textbaustein Verwaltung Text mit CSS Formatierung verwendet Tritt bei Verwendung eines if else Konstruktes bei verwendung einer abfrage ob der Textbaustein befüllt ist ein Fehler bei der Kompilierung auf. 

Um das Beispiel zu verdeutlichen wenn ich in der Textbaustein Verwaltung diesen Text Code eingebe

MeinLogo

dann erhalte ich nach den Kompilieren es ist eine Fehlermeldung " Ups! Ein Fehler ist aufgetreten! "

 

Gebe ich den selben Text in der Textbausteinverwaltung ohne CSS Formatierung als normalen Text: 

MeinLogo

ein wird das Theme anstandslos kompiliert. Die if else Abfrage greift so wie sie soll. Das Text Logo wird dann leider nur einfarbig dargestellt 

Zu Verifikationszwecken habe ich das Text Logo ohne if else Konstrukt ausgeben lassen hier wird die CSS Formatierung für das Logo korrekt dargestellt und berücksichtigt.

Sinn war das das L eine andere Farbe haben sollte und ich nicht für so eine kleine sache ein extra javascript einbinden wollte stichwort nth-letter() .

 

Zusammenfassung der Fehler tritt nur bei Textbausteinen auf, welche mit CSS Code Formatiert sind und diese anschließend in einer

if textbaustein leer = zeige normale logos else zeige textbaustein ( Normaler Text funktioniert / Formatierter nicht ) 

 

Hier noch das ein vereinfachtes Konstrukt welches in der basis verwendet in der logo-container.tpl zum einsatzt kommt und mit normaltext ohne css auch funktioniert

{* wenn Textbaustein leer zeige Bilder Logos *}
{if "{s name='IndexLinkschriftlogo'}{/s}" eq ""}

	Code ....

{else}
{* wenn textbaustein gefüllt dann das Textlogo anzeigen *}

	Code ....

{/if}

 

Was passiert wenn man die Anführungzeichen maskiert?

1 „Gefällt mir“

Hallo,

wie Mike bereits angedeutet hat, sind auf jeden Fall die Anführungszeichen des class Attributes das Problem. Snippets sehen immer wie folgt aus: SnippetNameTest = “Test Text”
Wenn nun im Snippet Text selber auch Anführungszeichen vorkommen, ohne das sie maskiert worden sind, kommt es zu einem Fehler. Die Fehlermeldung sollte so was ähnliches auch ausgeben: http://community.shopware.com/Fehlermeldungen-in-Shopware-debuggen_detail_1880.html#Frontend_Error_Reporter

Viele Grüße aus Schöppingen

cool Michael Telgmann

1 „Gefällt mir“

Cool das wars  Thumb-Up witzigerweise bin ich dann selber auch drauf gekommen und wollte das hier schnell berichten. Also Problem erledigt