Benutzer anlegen

Hallo zusammen,

Der Shop ist ein Teil auf einem Portal, nun möchten wir das wenn sich ein Benutzer im Portal registriert analog auch ein Benutzer im OXID angelegt wird. Ich konnte hierzu keine Schnittstelle finden also gehe ich davon aus das der Benutzer “hart” in die DB geschrieben werden muss, richtig? Nun wäre interessant ob es genügt die Daten in die Tabelle “oxiduser” einzutragen oder ob es noch weitere Tabellen gibt in welche der Benutzer/BenutzerID rein muss.

Danke vorab,
Grüße,
Matthias

Hallo,

die Daten landen normalerweise in oxuser und oxnewssubscribed. Eventuell hilft dir ja folgender Auszug aus meinen COI-Modul:


INSERT INTO oxuser (OXID,OXACTIVE,OXRIGHTS,OXSHOPID,OXUSERNAME,OXCUSTNR,OXCOMPANY,OXFNAME,OXLNAME,OXSTREET,OXSTREETNR,
OXCITY,OXCOUNTRYID,OXZIP,OXFON,OXFAX,OXSAL,OXBONI,OXCREATE,OXBIRTHDATE)

INSERT INTO oxnewssubscribed (OXID,OXUSERID,OXSAL,OXFNAME,OXLNAME,OXEMAIL,OXDBOPTIN,OXSUBSCRIBED)

Die OXID mußt du generieren und wenn das Kennwort mit geschrieben werden soll muss dieses nach OXID-Vorgaben erstellt werden.

Hi,

direkt auf die Datenbank? Es muss doch eine Möglichkeit geben, auf einfachere Art über die API von außen auf die register-Klasse zuzugreifen?

Gruß

[QUOTE=Marco Steinhaeuser;14159]Hi,

direkt auf die Datenbank? Es muss doch eine Möglichkeit geben, auf einfachere Art über die API von außen auf die register-Klasse zuzugreifen?

Gruß[/QUOTE]

Genau dieses Problem habe ich aktuell, möchte einen neuen OXID User anlegen. Dies soll über oxuser.php geschehen, leider ist dort die Methode createUser() für mich unbrauchbar (OXID CE 4.8.5). Alleine die Prüfung


// check if user exists AND there is no password - in this case we update otherwise we try to insert
$sSelect = "select oxid from oxuser where oxusername = " . $oDb->quote( $this->oxuser__oxusername->value ) . " and oxpassword = '' ";

hätte man schon in eine Unter-Methode auslagern sollen. An manchen Tagen komme ich ins grübeln ob OXID ein Framework oder eine individuelle Softwarelösung ist…

Ein Framework ist in meiner Definition ein Werkzeug eines Entwicklers, welches mir viele Spielräume gibt es zu erweitern und zu modifizieren. Dabei bleibt der Kern, also Core des Framework erhalten.

Viele Grüße
indianer3c

und wieso genau lässt du deine Frust jetzt an einem 5 Jahre alten Thread aus?
Wenn dein Vorhaben daran scheitert, dass du entgegen aller menschlichen und programmiertechnischen Logik keine multiplen Benutzer mit der selben E-Mail Adresse anlegen kannst/darfst, solltest du deine Vorgehensweise überdenken.

Weil ich keinen Neuen aufmachen wollte, sorry der musste sein.
Ich bastle mir jetzt meine eigene Lösung.