Fehlende Errors im Login Formular

Alle sonstigen Fragen und Antworten (z. B. zu Modulen oder der allgemeinen technischen Realisierung)
Antworten
fabian_perrey
Beiträge: 19
Registriert: 13. Aug 2014, 15:25

Fehlende Errors im Login Formular

Beitrag von fabian_perrey »

Hallo liebes Merconis Support Team,

aktuell befindet sich der Shop an dem wir arbeiten noch in der Version 2.1.3 (Contao 3.3). Dort haben wir festgestellt, dass bei eigenständigen Login Modulen (also nicht im im Bestellprozess) keine Fehlermeldungen bei faslschen Eingaben angezeigt werden. Die zugehörigen Einträge in der Sesssion ('TL_ERROR' bzw. 'LOGIN_ERROR') sind leer.
Nach Deaktivierung des Shops waren die Fehlermeldungen wieder vorhanden.

Umgekehrt haben wir in der ModuleLogin.php von Contao mal des Leeren/Unset für diese Session Variablen verhindert. Danach waren die Fehlermeldungen wieder verfügbar, aber im Bestellprozess zeigte das Login Formular direkt beim ersten Anruf eine Fehlermeldung ohne überhaupt bestätigt zu werden.

Macht der Shope hier irgendeine Art Mehrfachaufruf des Templetes o.ä. um die Fehlermeldungen im Bestellprozess zu überschreiben, was dann auch andere Login Module auf regulären Seiten Seiten betrifft?
Falls es ein Shop-seitiger Bug ist, ist er bereits behoben? Falls nicht habt das Team eine Idee woran das noch liegen könnte?

Beste Grüße
FP
Benutzeravatar
supportteam2
Beiträge: 427
Registriert: 4. Mär 2015, 14:05

Re: Fehlende Errors im Login Formular

Beitrag von supportteam2 »

In den Merconis-Grundeinstellungen wird das für den Checkout-Prozess zu verwendende Login-Modul angegeben. Merconis bietet dieses Modul dann in den entsprechenden Templates zur Ausgabe an und ist etwas zu übereifrig beim Rendern dieses Login-Moduls. Wird das Login-Modul auf Seiten, auf denen es gar nicht wirklich ausgegeben wird, im Hintergrund gerendert (Merconis macht das aktuell), hat das normalerweise keine negative Auswirkung, es ist schlichtweg in diesem Fall nicht nötig. Befindet man sich aber auf einer Login-Seite, auf der ein Login-Modul unabhängig von Merconis verwendet wird, kommt es zu dem Effekt, durch den die Fehlermeldungen verschwinden. Das sichtbare Login-Formular wird abgeschickt, die Daten werden aber nicht von der sichtbaren Instanz des Login-Moduls verarbeitet sondern von der im Hintergrund zuerst von Merconis gerenderten Login-Modul-Instanz, die auf dieser Seite selbst gar nicht auf dem Bildschirm erscheint. Abgesehen von verschwindenden Fehlermeldungen wäre das auch nicht schlimm, da es für den Login-Vorgang egal ist, welche Instanz eines Login-Moduls die übermittelten Zugangsdaten verarbeitet. Die Fehlermeldungen allerdings werden von der Instanz, die sich um die tatsächliche Verarbeitung der Login-Anforderung kümmert (in diesem Fall die unsichtbare), ausgegeben und stehen für die sichtbare Instanz nicht mehr zur Verfügung.

Soviel zur Erklärung des Bugs bzw. Konflikts.

Ich habe dieses Problem an die Entwicklung weitergegeben, sodass das Verhalten für die kommende Version optimiert werden kann. Es gibt aber einen einfachen Workaround, mit dem das Problem jetzt schon umgangen werden kann:


1. Erstellen Sie ein Dummy-FE-Modul, das einfach gar nichts macht (z. B. ein leeres Modul vom Typ "eigener HTML-Code").
2. Wählen Sie dieses Modul in den Merconis-Grundeinstellungen als "Login-Modul zur Verwendung beim Bestellabschluss" aus. Merconis wird dann dieses Modul im Hintergrund rendern anstatt des konfliktbehafteten Login-Moduls.
3. Entfernen Sie im Template (template_cart--big_desktop_include_customer_data_form.xhtml sowie html5- und Mobil-Varianten) die Ausgabe des im Hintergrund aufbereiteten Login-Moduls und fügen Sie einen Insert-Tag hinzu, um das echte Login-Modul auszugeben:

Code: Alles auswählen

	<div class="borderless">
		===> HINZUFÜGEN: {{insert_module::***MODUL-ID***}}
		===> ENTFERNEN: <?php echo $this->arrRequiredCheckoutData['formLogin']; ?>
	</div>
fabian_perrey
Beiträge: 19
Registriert: 13. Aug 2014, 15:25

Re: Fehlende Errors im Login Formular

Beitrag von fabian_perrey »

Ok wir haben so umgesetzt. Jetzt funktioniert's. Besten Dank für die Hilfe.
Antworten

Zurück zu „Sonstiges / Misc.“