User ID mit hook_user_insert

am 19.06.2013 - 14:49 Uhr in
Hallo
Ich brauche ein Modul das mir die User ID aus der Drupal Datenbank in eine externe MySql Datenbank speichert.
Ich habe durch langes googlen und mit einem Tip hook_user_insert gefunden.
Bin ich damit auf dem richtigen weg? Wenn ja wie verwende ich es richtig?
Beste Grüße
Daniel
- Anmelden oder Registrieren um Kommentare zu schreiben
hook_user_insert()
am 20.06.2013 - 08:43 Uhr
Moin.
Schau mal auf die API-Seite von [api:hook_user_insert:7], dort ist direkt ein Beispiel angegeben, wie man Daten des Benutzers in eine eigene Tabelle speichern kann.
In Deinem eigenen Modul musst Du dann also "nur noch" [api:hook_user_insert:7] implementieren und die Daten speichern. Da Du jedoch die Daten in einer externen Datenbank ablegen willst, musst Du die Zugangsdaten zu dieser Datenbank zuallererst in Deiner settings.php hinterlegen:
<?php
$databases = array (
'default' =>
array (
'default' =>
array (
'database' => 'Name der Drupal-DB',
'username' => 'username',
'password' => 'password',
'host' => 'localhost',
'port' => '',
'driver' => 'mysql',
'prefix' => '',
),
),
'external' =>
array (
'default' =>
array (
'database' => 'Name der externen Datenbank',
'username' => 'username',
'password' => 'password',
'host' => 'localhost',
'port' => '',
'driver' => 'mysql',
'prefix' => '',
),
),
);?>
Jetzt kannst Du in Deinem Modul mittels
<?php db_set_active('external'); ?>
zur externen Datenbank wechseln und dann dort die erforderlichen Operationen ausführen (z.B. [api:db_insert:7]).Nachdem Du die Daten in die externe Datenbank eingefügt hast, solltest Du einfach
<?php db_set_active(); ?>
ausführen, um wieder zur Standard-DB zu wechseln.hth,
Stefan