[TYPO3-german] femanager: Wert aus Feld übertragen

redacted user chris at bessei-it.eu
Wed Dec 9 12:09:09 CET 2015


Hi Leo,

m.e sollte das Ganze in setFirstName und setLastName, welche der beiden
Funktionen zuletzt aufgerufen wird ist ja nicht festgelegt.
Außerdem könnte theoretisch auch nur der Vorname geändert werden.

public function setLastName($lastName)
{
        $this->lastName = $lastName;
        $this->setName($this->getFirstName() . " " . $this->getLastName());
}

und

public function setFirstName($firstName)
{
        $this->firstName = $firstName;
        $this->setName($this->getFirstName() . " " .$this->getLastName());
}

VG,
Chris





Am 2015-12-09 um 10:01 schrieb Leo Führinger:
> Kurze Korrektur,
> das ganze muss in die Funktion setLastName(), da sonst der Nachname noch
> garn nicht gespeichert wurde...
>
> public function setLastName($lastName)
> {
>         $this->lastName = $lastName;
>         $this->setName($this->getFirstName() . " " . $this->getLastName());
> }
>
> Am 4. Dezember 2015 um 12:35 schrieb Leo Führinger <leo.fuehringer at gmail.com
>> :
>> Danke Christoph,
>> da ich eh schon die femanagerextended im Einsatz habe, war es (fast) ein
>> leichtes Spiel.
>> Deine Zeilen in die /femanagerextended/Classes/Domain/Model/User.php
>> kopiert und alles läuft perfekt.
>>
>> Die bislang noch nicht ausgefüllten Namensfelder habe ich dann per
>> SQL-Befehl gefüllt:
>> UPDATE 'fe_users' SET name=CONCAT(first_name, ' ' ,last_name)  FROM
>> 'fe_users' WHERE name=''
>>
>> Vielen Dank!
>> Leo
>>
>> Am 3. Dezember 2015 um 12:40 schrieb redacted user <chris at bessei-it.eu>
>> :
>>
>>> Hi Leo,
>>>
>>> ich befürchte per TypoScript ist das Ganze etwas komplizierter, evtl.
>>> auch unmöglich.
>>> Dein Versuch mit "name.value.field = lastName" kann nicht funktionieren,
>>> da lastName in dem Moment noch gar nicht in die Datenbank geschrieben
>>> wurde.
>>> Außerdem weiß TypoScript nicht auf welchen Eintrag aus fe_users
>>> zugegriffen werden soll.
>>>
>>> Die Quick&Dirty Variante wäre im User Model
>>> (typo3conf/ext/femanager/Classes/Domain/Model/User.php) von femanager
>>> die setFirstName und setLastName Funktionen zu verändern.
>>> zB:
>>> public function setFirstName($firstName)
>>> {
>>>         $this->firstName = $firstName;
>>>         $this->setName($this->getFirstName() . " " .
>>> $this->getLastName());
>>> }
>>>
>>> Aber: Das würde bei jedem femanager Update überschrieben werden.
>>>
>>> Die schönere Variante wäre, das User Model von femanager zu erweitern.
>>> Also eine eigene kleine Extension dafür zu machen und dort die
>>> setFirstName und setLastName Funktionen zu überschreiben.
>>> Dazu gibt es einiges unter
>>> https://docs.typo3.org/typo3cms/extensions/femanager/BestPractice
>>>
>>> Viele Grüße,
>>> Chris
>>>
>>> Am 2015-11-30 um 19:54 schrieb Leo Führinger:
>>>> Hat hierzu keiner eine Idee?
>>>> Habe immer noch das Problem, das beim Registrieren der Vorname und
>>> Nachname
>>>> in das zugehörige Feld gespeichert wid. Die Extension seminars benutzt
>>>> jedoch öfters das Feld name, was leider leer ist...
>>>> Daher meine Versuch aus der vorigen Mail.
>>>>
>>>> Danke und liebe Grüße,
>>>> Leo
>>>>
>>>> Am 9. November 2015 um 22:47 schrieb Leo Führinger <
>>> leo.fuehringer at gmail.com
>>>>> :
>>>>> Hallo zusammen,
>>>>> beim Registrieren mit dem femanager geben die Nutzer ihren Vornamen
>>>>> (firstName) und Nachnamen (lastName) ein.
>>>>> Nun würde ich gerne in der fe_user-Tabelle das Feld Name (name)
>>> automatisch
>>>>> mit Vorname + Nachname befüllen (nicht nur beim Erstellen, sondern auch
>>>>> beim Ändern des Namens.
>>>>> Wollte eines nach dem anderen probieren. Doch schon beim einfachsten
>>>>> scheitert es:
>>>>>
>>>>> forceValues {
>>>>>   # Overwrite initally (default)
>>>>>   beforeAnyConfirmation {
>>>>>     # Usergroups can be set with a commaseparated list
>>>>>     usergroup = TEXT
>>>>>     usergroup.value = 1
>>>>>
>>>>>
>>>>>     name = TEXT
>>>>>     # Geht alles nicht
>>>>>     name.value.field = lastName
>>>>>     name.field = lastName
>>>>>     name.data = lastName
>>>>>     # Nur einen fixen Text bekomme ich hin:
>>>>>     name.value = NAMENSTEST
>>>>>
>>>>>   }
>>>>> }
>>>>>
>>>>> Kann mir jemand auf die Sprünge helfen?
>>>>>
>>>>> Damit geht es auch nicht (selbst die unveränderte Konfiguration
>>> speichert
>>>>> keinen Datensatz):
>>>>> storeInDatabase {
>>>>>   tt_address {
>>>>>     _enable = TEXT
>>>>>     _enable.value = 1
>>>>>
>>>>>     pid = TEXT
>>>>>     pid.value = 15
>>>>>
>>>>>     name = TEXT
>>>>>     name.value = NAMETEST
>>>>>
>>>>>     email = TEXT
>>>>>     email.field = email
>>>>>
>>>>>   }
>>>>> }
>>>>>
>>>>> Danke und liebe Grüße,
>>>>> Leo
>>>>> _______________________________________________
>>>>> TYPO3-german mailing list
>>>>> TYPO3-german at lists.typo3.org
>>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>>> _______________________________________________
>>>> TYPO3-german mailing list
>>>> TYPO3-german at lists.typo3.org
>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>> _______________________________________________
>>> TYPO3-german mailing list
>>> TYPO3-german at lists.typo3.org
>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>>
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german



More information about the TYPO3-german mailing list