Puncte:0

Se modifică user_admin_account și user_register_form

drapel ro

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.

Jaypan avatar
drapel de
„Sunt destul de sigur că fac ceva greșit când vine vorba de $query”
berliner avatar
drapel bd
Bun venit la Drupal Answers! Sunt puțin confuz de întrebarea ta. Dacă ați adăugat câmpuri la entitatea utilizator, de ce ar trebui să stocați datele introduse pentru acele câmpuri? Drupal se ocupă de asta. Dacă am înțeles greșit, luați în considerare să vă actualizați întrebarea pentru a o clarifica. Te-ai uitat la modulul [realname](https://www.drupal.org/project/realname)? Cred că cazul dvs. de utilizare este suficient de comun încât există deja o soluție care nu implică cod personalizat.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.