Hallo,
Ist es irgendwie möglich Leerzeichen in Benutzernamen einzufügen? Bei mir sollen sich die User mit ihrem vollen Namen anmelden können.
Eine Extension für Großbuchstaben und längere Benutzernamen habe ich bereits gefunden aber trotz vieler Googelei konnte ich über die Leerzeichen nichts finden. Beim Anlegen von Usern werden sie stillschweigend entfernt, beim Login _muss_ man sie jedoch weglassen.
Gruß
Chris
*nach oben hol*
Das ganze würde mich auch sehr interessieren.
Danke schon mal.
Grüße Cored
Uraltes Post, aber ich frage mich gerade dasselbe und finde keine Antwort.
Auf der Seite hier werden ja Leerzeichen in Nutzernamen unterstützt... Hab versucht es in der mm_forum Doku zu finden, aber war damit leider nicht erfolgreich...
Wie geht das denn?
Danke schonmal,
EM
Ok, hab die Stelle gefunden.
Es handelt sich um ein unkommentiertes Feature, das durch die TypoScript Konfiguration des mm_forum Registrierungsplugins zu setzen ist.
Der key ist username_allowed im Bereich plugin.tx_mmforum_pi2. Es handelt sich um eine Regular Expression, die case-insensitive ausgewertet wird. Für das Leetzeichen dort einfach den Default Wert a-z0-9äüö_.ß ersetzen durch a-z0-9 äüö_.ß (eingefügtes Leerzeichen in der Mitte).
Ich habe zuerst versucht, das über die TS Constants Konfiguration meines Templates zu setzen mit:
plugin.tx_mmforum_pi2.username_allowed = a-z0-9 äüö_.ß
Das wurde allerdings ignoriert. (Wo liegt da der Fehler?!?)
Es geht aber, wenn man es direkt in der Datei mm_forum/ext_typoscript_setup.txt ändert. (Zeile 769)
Zu diesem Thema gibt es auch einen mm_forum bug report, der noch einen (aufwändigeren) Alternativansatz erklärt.
Als letzte Frage bleibt für mich, warum man das nicht in den Template constants setzen kann?
Mh, ja eigentlich ist das nicht die Lösung. Zwar geht es auch mit Überschreiben im eigenen TS, wenn man ein Extensiontemplate in der Seite erstellt in der sich das Forenplugin befindet.
Allerdings macht das TYPO3 backend das nicht mit. Das heißt wenn du da einen benutzernamen ändern möchtest werden die Leerzeichen wieder entfernt.
Ich stande vor geraumer Zeit mal vor demselben Problem und habe das dann mit srfeuserregister in den Griff bekommen. Die Extension braucht nicht verwendet werden, die braucht auch nicht in die Statics from Extension geladen werden. Die muss einfach nur installiert sein.
In der Datei ext_tables.php muss bei ca. Zeile 22 folgendes geändert werden:
$TCA['fe_users']['columns']['username']['config']['eval'] = 'nospace,uniqueInPid,required';
nach:
$TCA['fe_users']['columns']['username']['config']['eval'] = 'uniqueInPid,required';
Also da nospace löschen...
Dann sollte es gehen... zumindest bei mir.
Macht natürlich keinen Sinn wenn man die Extension updaten und verwenden möchte. Ich gehe aber davon aus das du die regidtrierung vom mm_forum verwendest. damit sollte das kein Problem sein.
Ist auf jeden Fall besser, als wenn man an den TYPO3 Dateien rumschraubt, wo jede Änderung beim Updaten verloren geht.
Zuhause habe ich eine kleine Notiz dazu gemacht. Schaue wenn ich wieder da bin nach ob ich was vergessen hatte.
Auch wenn ich mir selbst antworte hoffe ich, dass es mal wem anders hilft:
Habe ein Patch erstellt, dass die mm_forum TS Konfigurationsdateien so ändert, dass die entsprechende Regular Expression im Template TS Constants Bereich definiert werden kann.
Da man hier keine Dateien anhängen darf einfach mal in Textform:
Index: ext_typoscript_constants.txt
===================================================================
--- ext_typoscript_constants.txt (revision 1886)
+++ ext_typoscript_constants.txt (working copy)
@@ -145,6 +145,9 @@
# cat=plugin.mm_forum - general//; type=string; label=Database field used for a user's username
userNameField = username
+ # cat=plugin.mm_forum - general//; type=string; label=Regular Expression for allowed usernames (case-insensitive). Default a-z0-9äüö_.ß
+ username_allowed = a-z0-9äüö_.ß
+
# cat=plugin.mm_forum - message board//; type=string; label=Icon mode: Set to 'classic' in order to use the classic forum and topic icons, or to 'modern' to use new icons
topicIconMode = modern
Index: ext_typoscript_setup.txt
===================================================================
--- ext_typoscript_setup.txt (revision 1886)
+++ ext_typoscript_setup.txt (working copy)
@@ -766,7 +766,7 @@
images < plugin.tx_mmforum_pi1.images
# Allowed characters for user name
- username_allowed = a-z0-9äüö_.ß
+ username_allowed = {$plugin.tx_mmforum.username_allowed}
# Minimal length for user names
username_minLength = 3
Einfach im mm_forum Ordner anwenden. Danach kann man wie oben schon erwähnt
plugin.tx_mmforum.username_allowed = a-z0-9 äüö_.ß
in sein template eintragen (oder jegliche Abwandlung) und fertig.
Danke für die Antwort, hat sich mit meinem Post überschnitten...
SLAng schrieb
Allerdings macht das TYPO3 backend das nicht mit. Das heißt wenn du da einen benutzernamen ändern möchtest werden die Leerzeichen wieder entfernt.
Grad ausprobiert, stimmt leider.
Irgendwie kommt mir das mit der srfeuserregister aber auch wie ein Hack vor... Ich seh noch nich ganz ein, warum ich einen plugin installieren muss, den ich nicht verwende, nur damit das Backend weiß, wie ich usernames ändern darf...?
Ich kann das natürlich als solches akzeptieren, werd aber mal den Eintrag im mm_forum bugtracker entsprechend erweitern. Der Link oben war übrigens falsch, das hier ist der richtige.
Da fällt mir auch auf, dass Du ja auch derjenige warst, der diesen Fix bereits in dem Bugtracker geschrieben hat. Was Du noch vergessen hast war es, das automatische Ersetzen der Leerzeichen im Backend zu "reparieren":
In file:
/typo3/typo3conf/ext/sr_feuser_register/model/class.tx_srfeuserregister_data.php search for "nospace"
Line:
$this->dataArray[$theField] = str_replace(' ', '', $this->dataArray[$theField]);
replace with:
$this->dataArray[$theField] = str_replace(' ', ' ', $this->dataArray[$theField]);
Danke für die Hilfe 🙂
Ach ja stimmt...
Man muss allerdings dazu sagen, das es ja eigentlich kein Bug des mm_forum ist und wohl auch kein bug im TYPO3. Es ist scheinbar so gewollt.
Für mich ist es eine einfache Lösung, die auf dauer update sicher scheint.
Da geb ich Dir recht. Ein Bug ist es nicht.
Für mich sehe ich allerdings keinen Grund, der es rechtfertigt, so eine Beschränkung einzubauen. Ein Backend user, der das Privileg hat, die Namen von anderen Usern zu ändern sollte sie auch auf den String ändern dürfen den er haben will. Unabhängig von allen Seiteneinstellungen. (Direkt in der DB gehts ja zur Not auch...)
Ich würde es insofern eher als Feature Request betrachten. Das mm_forum bietet mit der username_allowed Variable und dem Patch, das ich gemacht habe bereits eine perfekte (und halt beliebig anpassbare) Lösung für das Problem und alles was fehlt ist, dass die Verantwortlichen den (meiner Meinung nach sinnlose) str_replace aus der srfeuserregister entfernen...
Halte ich für ne Altlast, die nur niemand aufgeräumt hat. Aber ich bin auch noch neu, was weiß ich denn schon 😉