Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

Registration abändern

Eingetragen von Lakai (39)
am 22.08.2007 - 19:40 Uhr in
  • Allgemeines zu Drupal
  • Drupal 5.x

Hallo zusammen...

Ich versuche krampfhaft, die Drupal registration zu erweitern. Ich habe folgendes Problem:

Wenn der User sich registriert und die einträge in die Datenbank geschrieben werden, soll in einer anderen Tabelle weitere einträge gemacht werden, die der User aber nicht eingibt sondern automatisch eingetragen werden.

Es soll eine Art spiel werden: Da User startet mit 1000 $ und kann die irgendwie ausgeben... Ich dachte ich könnte eine weitere Tabelle in die DrupalDB einfügen mit zwei spalten: uid und Geldmenge. Habe mal in dem User.Module ein bisschen rumgeschaut habe aber nicht herausgefunden wo diese einträge gemacht werden...

Weiss jemand wie das gehen könnte?

Liebe Grüsse

Lakai

‹ Fehlermeldung Drupal Site übersiedeln... ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Du solltest Dir ein eigenes

Eingetragen von sanduhrs (1285)
am 22.08.2007 - 20:01 Uhr

Du solltest Dir ein eigenes modul dafür schreiben.

--
sanduhrs · Stefan Auditor · Drupalcenter
http://erdfisch.de · http://audiens.de · http://drupal.org/user/28074

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ok an das hab ich auch schon

Eingetragen von Lakai (39)
am 22.08.2007 - 20:37 Uhr

Ok an das hab ich auch schon gedacht... Habe auch schon das Tutorial wie man ein Modul baut angesehen, dort wird jedoch ein Block erstellt. Wie erstellt man aber eine Funktion die bei der registration noch zum zug kommt? oder wie sagt man der registration sie soll das modul noch laden?

Thx im Voraus

  • Anmelden oder Registrieren um Kommentare zu schreiben

hook_user

Eingetragen von md (3717)
am 22.08.2007 - 20:46 Uhr

Da benötigst du den 'hook_user' in deinem Modul. Dieser Hook ermöglicht es anderen Modulen in den Registierungs- oder Loginprozess einzugreifen und eigene Aktionen auszuführen. Bei der Operation '$op = insert' kannst du dann zusätzliche Dinge in deine Tabelle schreiben.

http://api.drupal.org/api/function/hook_user/5

vg
--
md - DrupalCenter

mdwp* :: Drupal Services

  • Anmelden oder Registrieren um Kommentare zu schreiben

juhu thx das ist was ich

Eingetragen von Lakai (39)
am 22.08.2007 - 20:51 Uhr

juhu thx das ist was ich gesucht habe! in welche Tabelle schreibt diese Funktion dann die infos? Direkt in die Users Tabelle oder kann man das noch irgendwie steuern?

Liebe Grüsse

  • Anmelden oder Registrieren um Kommentare zu schreiben

Tabelle

Eingetragen von md (3717)
am 22.08.2007 - 21:17 Uhr

Die Funktion hook_user in deinem Modul schreibt gar nichts. Dafür muss dein Modul selber sorgen. Der Hook selber sorgt eben dafür, dass dein Modul mit dieser Funktion von Drupal bei einer bestimmten User Aktion aufgerufen wird.

vg
--
md - DrupalCenter

mdwp* :: Drupal Services

  • Anmelden oder Registrieren um Kommentare zu schreiben

Funktion

Eingetragen von Lakai (39)
am 22.08.2007 - 22:12 Uhr

Achso ok. Habe mal die Funktion geschrieben:

function bgreg_user($op='insert') {
global $user
$query = 'INSERT INTO ´kapital´ (´uid´, ´geld´) VALUES ( $user->uid , ´1000´ )';
db_query($query);
}

stimmt das so? hab es noch nicht ausprobiert... reicht das bereits damit die funktion bei der Registration benutzt wird?

Thx für eure Antworten!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Neues Problem

Eingetragen von Lakai (39)
am 30.08.2007 - 14:53 Uhr

Ok, habe mal ein bisschen rumgetüfftelt und weiss jetzt es funktioniert nich wie oben beschrieben :), da die $user Variable gar noch nicht exitiert bei der Registration...

Nun die frage... wie kann man das lösen, dass wärend der Registrierung in einer anderen Tabelle die Uid gleich auch noch eintragen kann? Oder wie kann die Uid ermitteln, von dem Account der gerade erstellt wird? Das kann ja nicht sein dass man irgendwie die User Tabelle abfragen muss und dann die UID+1 rechnen... stimmts?

Liebe Grüsse

Lakai

  • Anmelden oder Registrieren um Kommentare zu schreiben

guck dir mal die Parameter

Eingetragen von pebosi (2645)
am 30.08.2007 - 15:08 Uhr

guck dir mal die Parameter des User-Hooks an: http://api.drupal.org/api/function/hook_user/5, der Dritte enthält den User-Account.

gruß pebosi

  • Anmelden oder Registrieren um Kommentare zu schreiben

meinst du diesen

Eingetragen von Lakai (39)
am 30.08.2007 - 16:01 Uhr

meinst du diesen code?

function hook_user($op, &$edit, &$account, $category = NULL) {
  if ($op == 'form' && $category == 'account') {
    $form['comment_settings'] = array(
      '#type' => 'fieldset',
      '#title' => t('Comment settings'),
      '#collapsible' => TRUE,
      '#weight' => 4);
    $form['comment_settings']['signature'] = array(
      '#type' => 'textarea',
      '#title' => t('Signature'),
      '#default_value' => $edit['signature'],
      '#description' => t('Your signature will be publicly displayed at the end of your comments.'));
    return $form;
  }
}

so kann man doch nur eine weitere Formgruppe in die registration einbauen... das ist schon zu viel... ich brauche nur einen simplen UID-Eintrag in einer Tabelle, um damit die Standartwerte für den User zu aktivieren...

greetz Lakai

  • Anmelden oder Registrieren um Kommentare zu schreiben

ja, das ist der Code des

Eingetragen von pebosi (2645)
am 31.08.2007 - 07:59 Uhr

ja, das ist der Code des Hooks diesen musst du entsprechend deinem Modul anpassen, die $op für dein Vorhaben ist wie du oben schon richtig erkannt hattest "insert"

gruß pebosi

  • Anmelden oder Registrieren um Kommentare zu schreiben

User ID ermittel

Eingetragen von Lakai (39)
am 31.08.2007 - 23:02 Uhr

//edit: eintrag aufgrund gelöster frage abgeändert

Hallo

Habe mittlerweile die Funktion erstellt, die Funktion erstellt den DB eintrag (HURRAY) aber mit der falschen ID... ich bin davon ausgegangen dass $account->uid die ID des momentan erstellten Users ist, stimmt das?

Kann man irgendwie herausfinden, welcher der nächste Primary key der Tabelle ist? da wenn man ein User löscht ist dieser aus der Tabelle draussen, jedoch entsteht eine Lücke...

Thanks Lakai

  • Anmelden oder Registrieren um Kommentare zu schreiben

Klappt nicht -.-

Eingetragen von Lakai (39)
am 21.09.2007 - 20:34 Uhr

Moin,

habe noch ein bisschen rumprobiert, aber es klappt nicht diese Form auszugeben...

<?php
function bg_regist(){
   
$form['BGRegist'] = array(
   
'#type' => 'fieldset',
   
'#title' => 'Angaben für das Spiel',
   
'#collapsible' => FALSE,
   
'#collapsed' => FALSE
   
);
   
$form['BGResist']['Ingamename'] = array(
   
'#type' => 'textfield',
   
'#title' => 'InGame Name',
   
'#description' => 'Dieser Name sehen die anderen Spieler. Dieser Name kann nicht als Loginname verwendet werden!',
    );
   
$form['BGResist']['landname'] = array(
   
'#type' => 'textfield',
   
'#title' => 'Name des ersten Ortes',
   
'#description' => 'Dieser Name steht für deinen ersten Ort welchen du regierst.',
    );   

    return
$form;
}

function
bg_user($op='insert') {
     return
drupal_get_form('bg_regist');
}
?>

Funktioniert dies nicht auf diese weise?

Greetz Lakai

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 4 Tagen
  • Hey danke
    vor 1 Woche 5 Tagen
  • Update: jetzt gibt's ein
    vor 1 Woche 5 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 3 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 3 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 16 Stunden
  • In der entsprechenden View
    vor 3 Wochen 16 Stunden
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 16 Stunden
  • gelöst
    vor 5 Wochen 4 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 5 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20450

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 4 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association