Ich habe kürzlich ein Modul entwickelt, in dem ich die function hook_form_user_profile_form_alter(&$form, &$form_state)
Benutzereinstellungen erfasst und mit gespeichert habe function hook_user_presave(&$edit, $account, $category)
. Dann habe ich mit $ user-> data ['field'] in einem Modul auf die Daten zugegriffen. Das hat gut funktioniert.
Aber jetzt möchte ich die gleichen Einstellungen mit einem anderen Formular speichern (nicht mit dem Benutzerprofilformular). Gibt es also einen anderen Haken, um sie aufzubewahren?
Ich möchte jedem Benutzer einen Link zu der Seite (Formular außer dem Benutzerprofil) geben, auf der er seine Einstellungen speichern kann.
Danke im Voraus.
Nun, Sie können jederzeit Ihr eigenes Formular mithilfe der Formular-API mit einer Validierungs- und Übermittlungsfunktion erstellen und die Daten speichern, wo immer Sie möchten. Dies könnte sich auch im Benutzerdatenarray befinden, da es der perfekte Ort für benutzerbezogene Daten zu sein scheint. Sie können auch eine eigene Tabelle mit der Schema-API erstellen. Ich denke, die "Senden" -Funktion für das Formular ist der "Haken", den Sie suchen.
Formular-API: http://api.drupal.org/api/drupal/includes%21form.inc/group/form_api/7
Schema-API: http://api.drupal.org/api/drupal/includes%21database%21schema.inc/group/schemaapi/7
quelle