Sunt destul de nou în Drupal și încerc să construiesc un modul personalizat Drupal 7 pentru a modifica tabelul cu listări de utilizatori în admin/people. Aș dori să afișez numele și prenumele utilizatorilor.
Am adăugat deja câmpurile de text în formularul de înregistrare a utilizatorului în admin/config/people/account-settings/manage-fields și am reușit să stochez intrarea utilizatorului în tabelul bazei de date. Am adăugat câmpurile suplimentare în tabelul cu listări de utilizatori, dar nu îmi pot da seama cum să recuperez valorile din tabelul bazei de date și să le scot.
Iată ce am până acum în fișierul meu .module:
<?php
/**
* Implementează hook_form_FORMID_alter()
* @param $form
* @param $form_state
* @param $form_id
* @return $form
*/
funcția wdt_user_fields_form_user_admin_account_alter(&$form, $form_state, $form_id) {
//Adăugarea câmpului „Prenumele” utilizatorului în formularul „account_utilizator_admin”.
$name_header = matrice(
'f_name' => array('data' => t('First Name'), 'field' => 'wdt.first_name'),
'l_name' => array('data' => t('Last Name'), 'field' => 'wdt.last_name'),
);
//Câmp de locație
array_splice($form['conturi']['#header'], 1, 0, $name_header);
foreach($form['accounts']['#options'] as $key => $value) {
$interogare = db_select('wdt_user_fields', 'wdt')
->fields('wdt', array('first_name', 'last_name'))
->condition('wdt.wdt_username', $key)
->execute()
->fetchAssoc();
}
$form['pager'] = array('#markup' => theme('pager'));
returnează $form;
}
/**
* Implementează hook_user_insert()
* @param $edit
* @param $cont
* @param $categorie
*/
funcția wdt_user_fields_user_insert(&$editare, $cont, $categorie) {
db_insert('wdt_user_fields')
->câmpuri(matrice(
'wdt_username' => $cont->nume,
'first_name' => $edit['field_first_name']['und'][0]['value'],
'last_name' => $edit['field_last_name']['und'][0]['value'],
))->execute();
}
Sunt destul de sigur că fac ceva greșit când vine vorba de partea $query, dar se pare că nu găsesc nimic online.
În plus, am folosit „numele” din tabelul „utilizatori” ca cheie primară în tabelul meu personalizat. Aș dori ca tabelul meu să fie actualizat atunci când un utilizator este șters, astfel încât numele și numele din tabel sunt șterse și ele. Nu sunt prea sigur cum să fac asta. Are cineva idei?
Dacă cineva m-ar putea ajuta cu oricare dintre aceste întrebări, ar fi grozav. Mulțumesc anticipat.