Puncte:0

Modelarea paginii de editare a utilizatorului

drapel us

Folosesc tema startupgrowth lite și vreau să temați pagina mea de editare a utilizatorului, numai atunci când utilizatorul este „testeur” și editează „profilul utilizatorului candidat”.

Știu că atunci când vreau să modific formularul trebuie să fac acest pas:

1- adăugați funcția la template.php pentru a înlocui pagina șablonului:

 funcția startupgrowth_lite_theme($existent, $type, $theme, $cale) {
$items['user_profile_form'] = matrice(
    // Formele iau întotdeauna argumentul de formă.
        'argumente' => array('form' => NULL),
        'render element' => 'formular',
        'template' => 'pagina--utilizator--editare',
        'path' => drupal_get_path('theme', 'startupgrowth_lite') . „/șablon/formular”,
);
returnează $articole;
}

2- După aceea trebuie să creez un folder /template/form/ și să-mi pun pagina de fișier --user--edit.tpl.php pe el și să încep să codific.

3- goliți memoria cache și veți avea randamentul, dacă nu că trebuie să faceți ca tema de administrare ca tema dvs. implicit pe cazul meu (tema startupgrowthup).

Dar, în caz normal, trebuie să scriu pe cod <?php print render($form['XXX']); ?> pentru a avea câmpul user_profil_form numit „XXX”.

Toți cei 2 pași funcționează bine, dar nu știu cum să am câmpul de formular pe pagina mea pentru a modifica toate informațiile așa cum vreau să expun.

aceasta este o captură de ecran despre modul în care vreau să-mi expun utilizatorul de editare a paginii.introduceți descrierea imaginii aici

Puncte:0
drapel us

Ei bine, soluția mea pentru aceasta este să fac o funcție pe un modul personalizat și să-mi imprim codul direct pe pagină.

funcția custommodule_form_alter(&$form, $form_state, $form_id) {
  global $user;
  if($form['#form_id'] == "user_profile_form" && in_array('administrator', $user->roluri)){
    echo $form['form_id']['#value'];
    imprimare randare($form['field1']);
    imprimare randare($form['field2']);
  }
  dpm($form);
}

PS: Folosesc acest lucru pentru a modifica formularul de utilizator numai pentru unele reguli din proiectul meu. Aici aleg administrator pentru a vedea numai câmpul 1 și câmpul2 din toate câmpurile formularului, de exemplu.

in_array('administrator', $user->roluri)

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.