Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 19. Oktober 2012 21:29

oakins
hat von CMS/ms gehört
Ort: Zürich
Registriert: 19. Oktober 2012
Beiträge: 5

Probleme mit Umlauten im Modul FrontEndUsers (verifycode)

Hallo zusammen,

ich habe unter CMS (1.11.2) das FrontEndUser-Modul (1.19.1) installiert und teste die verschiedenen Möglichkeiten aus, damit ich den für mich besten Weg wählen kann.

Nun ist mir aufgefallen, dass die deutschen Fehlermeldungen beim 'Neusetzen' des Passwortes falsch codiert ausgegeben werden. Als Weg zum Neusetzen des Passwortes wählte ich den Standardlink 'Haben Sie Ihr Passwort vergessen?' auf der Loginseite. Danach erhält man eine E-Mail mit einem Link, um das Passwort zu setzen. Nach Klick auf den Link im E-Mail kommt man auf die entsprechende Seite. Provoziert man dort nun einen Fehler, so wird die Fehlermeldung mit Umlauten in html-Codes ausgegeben (z.B. Ungültiges Passwort). Siehe eingefügtes Bild weiter unten.

Das gleiche Problem tritt auch auf der Seite zur Änderung der Einstellungen auf.

Bei der Loginseite hingegen kommen die Fehlermeldungen mit 'korrekten' Umlauten.

Ist sonst schon jemand über dieses Problem gestolpert oder hat eine Idee, wo ich mit der Fehlersuche/-behebung beginnen soll.

feu_umlaute.png

Vielen Dank,
Rémy

Offline

#2 19. Oktober 2012 21:50

nockenfell
Moderator
Ort: Gontenschwil, Schweiz
Registriert: 09. November 2010
Beiträge: 2.934
Webseite

Re: Probleme mit Umlauten im Modul FrontEndUsers (verifycode)

Das Problem findet sich in der Spachdatei des Moduls:
./modules/FrontEndUsers/lang/ext/de_DE.php


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#3 20. Oktober 2012 07:28

oakins
hat von CMS/ms gehört
Ort: Zürich
Registriert: 19. Oktober 2012
Beiträge: 5

Re: Probleme mit Umlauten im Modul FrontEndUsers (verifycode)

Das hatte ich mir zuerst auch gedacht. Dort sieht meiner Meinung aber alles gut aus.

Die korrekt angezeigte Fehlermeldung bei ungültigem Login auf der Loginseite sieht so aus:

$lang['error_loginfailed'] = 'Ihre Anmeldung ist fehlgeschlagen - ungültiger Benutzername oder ungültiges Passwort?';

Die (falsch angezeigten) Fehlermeldungen bei den Einstellungen bzw. für die Neueingabe des Passwortes sind folgendermassen hinterlegt:

$lang['error_passwordmismatch'] = 'Die Passwörter stimmen nicht überein.';
$lang['error_invalidpassword'] = 'Ungültiges Passwort';

Testweise habe ich auch Feldbezeichnungen mit Umlauten versehen und festgestellt, dass diese korrekt angezeigt werden. Es scheint, also ob nur die Fehlermeldungen falsch codiert angezeigt werden.

Offline

#4 20. Oktober 2012 20:40

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: Probleme mit Umlauten im Modul FrontEndUsers (verifycode)

Wenn du in den Sprachdateien nicht rummachen willst, könntest du auf die Fehlermeldungen (sofern diese im Template vorhanden sind) mit utf8_encode als Modifikator korrigieren.

Offline

#5 20. Oktober 2012 20:50

oakins
hat von CMS/ms gehört
Ort: Zürich
Registriert: 19. Oktober 2012
Beiträge: 5

Re: Probleme mit Umlauten im Modul FrontEndUsers (verifycode)

Das habe ich gleich ausprobiert. Allerdings ohne Erfolg. Oder stehe ich jetzt total auf dem Schlauch mit dem Gebrauch von utf8_encode im Template drin? So habe ich es gemacht:

<div id="error">{utf8_encode($message)}</div>

Das Problem scheint definitiv nicht mit den Sprachdateien zusammenzuhängen. Ich habe im Ordner module_custom\... eigene Sprachdateien erstellt, mit dem selben Effekt. Zudem tritt das Problem nur an ausgewiesenen Stellen aus.

Wahrscheinlich muss ich bei Gelegenheit mal den Code genau anschauen ;-(

Offline

#6 20. Oktober 2012 21:22

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: Probleme mit Umlauten im Modul FrontEndUsers (verifycode)

Das ist aber kein Einsatz als Modifikator / Modifier tongue .

http://www.smarty.net/docsv2/de/language.modifiers.tpl

Das sähe dann so aus

<div id="error">{$message|utf8_encode}</div>

Offline

#7 20. Oktober 2012 21:58

oakins
hat von CMS/ms gehört
Ort: Zürich
Registriert: 19. Oktober 2012
Beiträge: 5

Re: Probleme mit Umlauten im Modul FrontEndUsers (verifycode)

Und schon wieder was gelernt mit dem Modifier!
Gebracht hat es nichts. Der Output ist immer noch derselbe. Das hat mich erstaunt und so habe ich den ausgegebenen Quelltext unter die Lupe genommen. Und da steht dann

Die Passw&amp;ouml;rter stimmen nicht &amp;uuml;berein

Wie das &amp; da hereinkommt, ist mir ein Rätsel, macht aber alles klar!
Die Sprachdatei habe ich auch noch einmal angeschaut, aber dort steht der Text korrekt drin ('Die Passw&ouml;rter stimmen nicht &uuml;berein.').

Nun muss ich wirklich in den Code rein, vermute ich.
Sobald ich die Lösung gefunden habe, werde ich sie hier publizieren. Das kann aber noch eine Weile dauern, da ich mit diesem 'Schönheitsfehler' zur Zeit leben kann, bis das ganze Anmeldeprozedere-Framework gebaut und getestet ist.

Temporäre Lösung gefunden:
Mit replace modifier &amp; ersetzen durch &.
Die Lösung hat cyberman in diesem Forum in einem anderen Thread (http://www.cmsmadesimple.de/forum/viewtopic.php?id=2110) vorgeschlagen. Danke! So kann ich für den Moment sogar sehr gut leben!

<div id="error">{$message|replace:"&amp;":"&"}</div> 

Beitrag geändert von oakins (21. Oktober 2012 22:14)

Offline