OXID 6.1 Fehler in CMS-Seiten führt zum Absturz (nur beim Aufruf der Widerrufsbelehrung)

Im CMS-Text eines neu installierten CE-Shops der Version 6.1 ist ein Smarty-Fehler, der zum Absturz des Shops führt. Dieser Fehler fällt nicht ad-hoc auf, denn die entsprechende Seite wird nur aufgerufen, wenn man im Checkout auf “Einzelheiten zum Widerrufsrecht” klickt. Uns ist der Fehler früher aufgefallen, weil wir Privat-Saes aktiviert hatten und dabei wird gleich bei der Registrierung das Widerrufsformular aufgerufen.

Der Fehler ist aber einfach zu beseitigen: Unter CMS-Seiten nach IDENT=“oxrightofwithdrawal” suchen und im Source-Code “href=’[{->getBaseDir()}]” gegen “href=’[{$oViewConf->getBaseDir()}]” ersetzen.

Ich hoffe, dass die Überschrift eindeutig genaug ist, damit Ihr diesen Hinweis findet :wink:

in der Installationsdatei ist alles korrekt


Ihr habt ganz sicher nicht versehentlich reingeklickt, irgendwas gelöscht und gespeichert?

Ich kann das aber bestätigen und hatte diese Einträge auch noch nicht geändert.
Könnte es sein dass dies im Zusammenspiel mit dem WYSIWYG-Editor passiert?
Bei mir stürzt auch die Vorschau beim Erstellen eines Newsletters ab (Meldung Maintenance-Mode), wenn ich einen Smarty-Befehl eingebe ( z.B: [{$oViewConf->getBaseDir()}] ) .
Reines HTML oder Text wird in der Vorschau dann angezeigt.

PS: Vorschau stürzt bei deaktivierten WYSIWYG nicht ab, also ist meine Vermutung, dass das Speichern über den WYSIWYG-Editor von Smary oder bestimmten Smarty-Befehlen zur fehlerhaften Speicherung der Smarty-Befehle führt.
Kann das jemand reproduzieren?

Ja, kann ich so bestätigen, dafür gibt es aber auch ein Modul, welches diesen Fehler behebt: https://github.com/eComStyle/FixSmartyInContent

Fantastisch, danke!
Na das ist ja auch ein richtiger Bug, das sollte dann auch fest in der nächsten Version verändert werden.

1 Like

Klar. Schick den Fix doch bitte als Pull Request rein :wink:

@vanilla_thunder: Du hast Recht, in der Installationsroutine steht das richtig drin. Wir konnten noch nicht nachvollziehen, wodurch das nach Installation geändert wird.

@Kumquats: Den Fehler kennen wir auch, aber das der WYSIWYG-Editor “->” beim Speichern in “->” umgewandelt, ist meiner Ansicht nach ein anderer Fehler.

Uns passiert bei einem Privat-Sale Shop, dass in [{$oViewConf->getBaseDir()}] die ganze Variable “$oViewConf” verschwindet. Man kann das nachvollziehen:

  1. Mit composer einen neuen CE-Shop, Version 6.1.0 installieren
  2. Setup durchführen und dabei Demodaten installieren
  3. Im Backend des neu installierten Shops einloggen und unter Stammdaten->Grundeinstellungen->Einstell.->Private Sales->Private Sales Login auf aktiviert stellen
  4. Diese Einstellung Speichern
  5. Im Frontend den Shop neu laden: Es gibt nur ein Login-Formular
  6. Auf den Button “Konto eröffnen” klicken
  7. Die Seite zeigt einen Fehler an, weil " Fatal error : Smarty error: [in ox:oxrightofwithdrawal line 8]: syntax error: unrecognized tag: ->getBaseDir() (Smarty_Compiler.class.php, line 441) in …

Besten Gruß

1 Like