ich möchte gern meine seite in drei userbereiche aufteilen. dazu habe ich 3 gruppen erstellt und möchte diese per registration mit usern füllen.
leider komme ich zu folgendem problem:
in fe_users (table der benutzer) sind spalten definiert, welche ich auch anpassen könnte. leider soll jede gruppe bzw. die jeweiligen mitglieder andere spalten (eingaben) zur vefügung haben.
beispiel:
guppe a: name, tele-nr, alter
gruppe b: name, straße, plz
gruppe c: name, geb.-datum, sternzeichen
(alles nur aus der luft gegriffene beispiele 😉 )
hat man die möglichkeit mehrere tables (fe_users) zu erstellen oder eine andere möglichkeit?
ansonsten müsste ich alle spalten in fe users haben und jeweils die nicht benötigten frei lassen!
Hi,
mit welcher extension ermöglichst du das editieren der Userdaten?
Du kannst z.B. für die Extension das template über Conditions für jede
Usergruppe anpassen:
[usergroup = uid]
ext.templFile = gruppe1.tmpl
[global]
[usergroup = uid]
ext.templFile = gruppe2.tmpl
[global]
...
Grüsse
das ist generell eine möglichkeit zur eingabe, jedoch bleibt das problem bestehen, das jede eingabe in das selbe table geschrieben wird (fe_users)...
das heißt das je nach user, spalten mit userspezifischen angaben anderer gruppen leer bleiben. generell finde ich dieses thema wichtig, da jeder programmierer bestrebt sein sollte, seine datenbank zu normalisieren.
wenn es aus extension seite (sr_feuser_registration oder andere registrierungsmodule) keine möglichkeit zur normalisierung geben sollte, ist das eine überlegung wert, dies im nächsten update zu erweitern !
Wieviele Threads denn noch zu dem Thema?
Wenn du User mit verschiedenen Feldern in die gleiche Tabelle schreiben willst, und manchen Usern manche Felder nicht zur Verfügung stehen, dann müssen die Felder in der DB einfach leer sein! Wenn du das nicht willst, dann erstell dir unterschiedliche FE-USer-Tabellen, und verzichte dann auf das was dir TYPO3 von Haus aus anbietet bzw dir diverse Extensions anbieten.
Geht es nur um die Dateneingabe, so unterschiede bitte immer ob FE oder BE. Für FE siehe Condition vorher, für BE erstell dir eine eigene Extension, die via hook/... die Felder füllt.
Wichtig ist wohl für die Performance viel mehr die Datenausgabe und hier habe ich bereits schon mal geschrieben, dass du dort ja soweiso die Kategorie abfragen kannst und so verschiedenee Queries absetzen kannst.
Georg
es geht mir um die normalisierung einer datenbank. die schnelligkeit ist dabei nicht entscheident, da es nicht zu sehr zu nachteilen kommt. generell ist es aber sinnig z.b. adress/kontaktdaten und user-einloggdaten zu trennen. natürlich auch alles weitere, was über diese hinausgeht.
dabei ist besonderst die übersicht entscheident, welche irgendwann, bei zahlreichen gruppen nicht mehr gegeben ist. ich denke das dies ein wichtiger punkt ist und nicht vernachlässigt werden sollte. dabei spielt besonderst die flexibilität eine große rolle. dem user etscheiden lassen, wo er seine daten speichern möchte (nicht auschließlich auch fe_users fixiert sein) und wie er diese aufteilen möchte. natürlich kann man sagen das brauche icht nicht. es ist dennoch keine gute lösung 😉
Hallo,
generell ist es aber sinnig z.b. adress/kontaktdaten und user-einloggdaten zu trennen
korrekt, darum gibt es fe_users und tt_address.
dabei ist besonderst die übersicht entscheident, welche irgendwann, bei zahlreichen gruppen nicht mehr gegeben ist.
kommt darauf an von wo du sprichst! Frontend ist die Übersicht abhängig von der Ausgabe, also Eigenverantwortung.
Sprichst du vom Backend, wie oft man da wirklich was mit den Datensätzen machen muss. Ist das oft und es sind viele User, so schreib dir einfach ein Backend-Modul, das dir die User so ausgibt wie du sie haben willst, sortiert wie du haben willst, mit ajax und Suche und alles was dir einfällt bzw was du dir machen lässt.
dem user etscheiden lassen, wo er seine daten speichern möchte
Stimme ich nur zu wenn du vom Entwickler/Administrator sprichst.
nicht auschließlich auch fe_users fixiert sein
Natürlich nicht! Es ist nur so, dass, falls du jetzt eine andere fe_user/tt_address-Tabellle einführst, du dann Probleme mit allen Extensions haben willst, die damit arbeiten.
Georg
und wie bentze ich denn tt_address? also habe ich doch meine möglichkeit meine adressdaten aus der fe_users auszulagern?!?
und wie bentze ich denn tt_address?
Das willst du nicht hören, aber: im sysordner einen Datensatz "Adresse" anlegen und fertig. Aber da hast du natürlich noch keinen Output.
zB Extension sp_directory legt eine Relation an und man kann bei tt_adress einen Fe-User verknüpfen. keine Ahnung wie zb tt_products das handelt, aber wie du siehst: Für die Nutzung kommts ganz auf den Zweck an!
Du kannst die Verknüpfung auch über eine eigene Extension herstellen: Extend existing table > File Relation > 2. Tabelle auswählen
Georg
das ist dann wieder zu sehr auf das be gewichtet. ich möchte ja bei der anmeldung eine adresse anlegen, welche der user eingegeben hat!
das ist dann wieder zu sehr auf das be gewichtet.
Das ist natürlich falsch! Aber man muss halt, wenn man im FE Daten eingibt, auch die entsprechenden Tabellen und Felder haben. Du brauchst ja ein Feld zur Verknüpfung!
Und ich sprech deswegen nicht vom FE, weil du dafür - so wie es ausschaut (da die üblichen Exts nie deine Zwecke erfüllen) - eine eigene selbstgeschriebene Extension, und da machst du einfach die 2 Insert-Queries und fertig!
Georg
das könnte ich eventuell auch, die vorhandene auf meine bedürfnisse anpassen...
ich schau mir mal den code an und hoffe das es im menschlichen bereich liegt bezüglich des styles 🙂
ok,
ich setz das jetz mal auf gelöst
georg