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

oxid6

#1

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:


#2

in der Installationsdatei ist alles korrekt


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


#3

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?


#4

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


#5

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


#6

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


#7

@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ß