Risposte:
Un modo per aggiungere campi utente per codice in modo da poterlo inserire nel modulo.
Ho trovato questo: field_create_field con nei commenti un modo per creare un campo per il tuo utente dopo aver abilitato il tuo modulo:
/**
* Implementation of hook_enable().
*/
function MYMODULE_enable() {
// Check if our field is not already created.
if (!field_info_field('field_myField')) {
$field = array(
'field_name' => 'field_myField',
'type' => 'text',
);
field_create_field($field);
// Create the instance on the bundle.
$instance = array(
'field_name' => 'field_myField',
'entity_type' => 'user',
'label' => 'My Field Name',
'bundle' => 'user',
// If you don't set the "required" property then the field wont be required by default.
'required' => TRUE,
'settings' => array(
// Here you inform either or not you want this field showing up on the registration form.
'user_register_form' => 1,
),
'widget' => array(
'type' => 'textfield',
'weight' => '1',
),
);
field_create_instance($instance);
}
}
'weight' => '1',
all'array di widget nel $instance
lo aggiungerò nella mia risposta.
/admin/config/people/accounts/fields
, quindi utilizzare campo ispettore sulle /admin/config/development/field-inspector
esportare array definizione istanza di campo e di campo per l'uso nel codice come sopra.
function MYMODULE_uninstall() {field_delete_field('field_myField');}
Ho trovato la pagina difficile da trovare, ma in / admin / config / people / account / fields puoi aggiungere campi agli utenti.
users
. I "campi" creano nuovi campi all'esterno della tabella users
.
hook_form_alter(&$form, &$form_state, $form_id)
Il profilo in D7 è un po 'strano. Il modulo profile2 può fare ciò di cui hai bisogno.
In Drupal 7, usa questo processo per aggiungere un campo nuovo o esistente con diversi tipi di campo (come immagine, campo Tag ecc.) Al profilo utente:
Vai su " Ammin → Configurazione → Persone: Impostazioni account " nel menu Ammin, quindi su " Gestisci campi " (la seconda scheda).
(In alternativa, utilizzare il percorso diretto nell'URL:) /admin/config/people/accounts/fields
.
Che tipo di campi vuoi aggiungere?