Bestehende Module verändern
Eingetragen von 26th (11)
am 23.07.2010 - 15:37 Uhr in
am 23.07.2010 - 15:37 Uhr in
Hallo allerseits!
Ich will momentan die zwei Funktionen aus einem bestehenden Modul abändern. Hierzu will ich den Eingriff jedoch nicht in dem Modul selbst durchführen, sondern ein eigenes Modul schreiben, welches die Funktionen ersetzt.
Wie mache ich hierbei Drupal bekannt, dass es auf die neuen Funktionen und nicht auf die alten zugreift? Wie wird der _alter Hook verwendet bzw. brauche ich immer die Konstellation mit _alter_form (und wenn ja, wie benutze ich sie, wenn ich wirklich nur 2 Funktionen ersetzen will)?
Vielen Dank schonmal für die Hilfe!
Gregor
- Anmelden oder Registrieren um Kommentare zu schreiben
Wäre gut zu wissen, welche
am 23.07.2010 - 16:12 Uhr
Wäre gut zu wissen, welche Module und welche Funktionen du ändern willst
Modul user
am 23.07.2010 - 18:02 Uhr
Das Modul, welches ich ändern will ist "user". Die Funktionen heißer user_delete() und user_block(). Letztere war eigentlich eine andere, aber ich kann den Code auch in dieser unterbringen.
am einfachsten, anstelle
am 26.07.2010 - 10:26 Uhr
am einfachsten, anstelle eines neues moduls, erscheint mir die option es einfach auszukommentieren. Sonst muss du einfach einen neuen hook einbringen und an gewünschter stelle aufrufen.
Module
am 26.07.2010 - 10:31 Uhr
Hallo.
Erstmal ein "STOP" vorweg. Prinzipiell sollte in den Dateien des Drupal-Kerns (und auch im Code von Contrib-Modulen) nichts geändert werden.
Magst Du beschreiben, was genau Du ändern möchtest (bitte mit Code)? Womöglich lässt sich die Anpassung anderweitig vornehmen.
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Änderungen
am 26.07.2010 - 10:51 Uhr
In den Funktionen soll lediglich bevor das Löschen/die Sperrung erfolgt ein simpler DB-Aufruf erfolgen, der eine andere Tabelle entsprechend aktualisiert.
Also es wird nur ein kurzes db_query("Update...") eingeschoben. Natürlich ließe sich dies auch datenbankseitig lösen, aber ich wollte mich auch mit der Veränderung von Drupal-Modulen vertraut machen. Eben weil ich nicht einfach bestehende Module überschreiben will, habe ich halt ein gesondertes Modul geschrieben, jedoch habe ich wegen des Fehlens des entsprechenden hook_alter nicht die Möglichkeit direkt die Funktionen umzuschreiben, die ich oben genannt habe.
Gregor
hook_user
am 26.07.2010 - 11:30 Uhr
Na wie gut, dass ich nochmal nachgefragt habe.
Mittels eines eigenen kleinen Moduls und einer Implementierung von [api:hook_user] kannst Du auf Veränderungen des Benutzerobjektes reagieren und Deine Informationen ablegen.
Kein Grund, den Drupal-Kern zu verändern.
hth,
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.