Zum Inhalt springen

fe_users erweitern, oder zusatztabelle anlegen? Relationen mit extbase?

Erstellt am 13. Juli 2011 · 6 Antworten · letzte Antwort am 10. Oktober 2011

Tags: Frage

shooby ·

hi,

ich versuche gerade mit dem Extension Builder eine Erweiterung zu erstellen. Dabei habe ich in meiner Software bestimmte Benutzerrollen. Jetzt ist die Frage: Soll man die fe_users erweitern und das backendplugin anpassen? Oder doch lieber eine weitere Tabelle anlegen, die auf fe_users mit einer Relation verweist.

Im zweiten Fall, muss ich ja die PHP File anpassen, da ja der Builder nicht auf externe Extensions verweisen kann. Das habe ich auch an Hand der Mittwald Doku gemacht. Aber müsste sich da nicht noch irgendwie das SQL anpassen? Denn, wenn ich ich die Ext installieren will, will er mir diese mm Tabelle unter anderem nicht anlegen.

Was wäre denn da best practise? Und wenn doch der zweite Weg: wie mach ich das richtig?

Vielen Danke für die Hilfe!

beo6 ·

Wenn ich dich richtig verstanden habe:

Damit Typo3 beim installieren einer Erweiterung auch die Datenbank anpasst musst du im Erweiterungsordner die Datei "ext_tables.sql" erstellen und dort die Datenbankstruktur als SQL-Query eintragen.

Das gilt auch für Relationstabellen:

#
# Table structure for table 'fe_users_tx_feusersextended_relation_mm'
# 
#
CREATE TABLE fe_users_tx_feusersextended_relation_mm (
uid_local int(11) DEFAULT '0' NOT NULL,
uid_foreign int(11) DEFAULT '0' NOT NULL,
tablenames varchar(30) DEFAULT '' NOT NULL,
sorting int(11) DEFAULT '0' NOT NULL,
KEY uid_local (uid_local),
KEY uid_foreign (uid_foreign)
);



#
# Table structure for table 'fe_users'
#
CREATE TABLE fe_users (
tx_feusersextended_departments_relation int(11) DEFAULT '0' NOT NULL,
street varchar(255) DEFAULT '' NOT NULL,
street_number varchar(255) DEFAULT '' NOT NULL,
zip varchar(10) DEFAULT '' NOT NULL,
city varchar(50) DEFAULT '' NOT NULL,
adm int(11) DEFAULT '0' NOT NULL,
ma int(11) DEFAULT '0' NOT NULL
);

Falls deine Benutzerrollen noch andere Informationen in der Datenbank enthalten sollen würde ich empfehlen mit einer Relation zu arbeiten.

Ich hoffe ich konnte helfen.

shooby ·
beo6 schrieb

Wenn ich dich richtig verstanden habe:

Damit Typo3 beim installieren einer Erweiterung auch die Datenbank anpasst musst du im Erweiterungsordner die Datei "ext_tables.sql" erstellen und dort die Datenbankstruktur als SQL-Query eintragen.

Das gilt auch für Relationstabellen:

also der Extension Builder erstellt mir ja schon so ne "ext_tables.sql". In der Mittwald Doku steht nämlich nix, dass ich noch diese Datei anpassen muss. Ich mein, is ja logisch. Aber dachte, es gäbe vielleicht die möglichkeit, dass es der Builder doch noch dazugeneriert.

Gut, dann werde ich mal versuchen, ob ich die SQL korrekt hinbekomme.

Ich melde mich dann, wenn es geklappt hat.

Vielen Dank schonmal! 😃

Eydamos ·

Meist ist es gängige Praxis die Tabellen einfach zu erweitern.

Der Extension Builder deckt allerdings nicht mit ab, dass du Tabellen erweitern willst, das musst du immer selber in die ext_tables.sql schreiben.

BlackPixel ·

ich mach das immer mit dem Kickstarter. Allerdings lasse ich mir dann nur die Vorschau raus und schreibe die Extension nicht. Zusätzlich zum SQL benötigst Du nämlich auch noch die TCA Einträge!

Gruß Manfred