Formularul utilizat în formularul de autentificare și în pagina de autentificare este cel implementat de Drupal\user\Form\UserLoginForm
clasă. Aceasta înseamnă că ID-ul formularului pentru a face check-in hook_form_alter()
sau hook_form_FORM_ID_alter()
este la fel în ambele cazuri.
Implementarea hook_block_view_BASE_BLOCK_ID_alter()
, este posibil să modificați ieșirea de randare pentru un bloc, inclusiv blocul de conectare.
function mymodule_block_view_user_login_block_alter(array &$build, \Drupal\Core\Block\BlockPluginInterface $block) {
// Modificați formularul de conectare, care este stocat în $build['user_login_form'].
// Acest exemplu modifică dimensiunea câmpurilor de nume și parolă.
$build['user_login_form']['name']['#size'] = 18;
$build['user_login_form']['pass']['#size'] = 18;
}
ID-ul pluginului pentru blocul de conectare este dat în adnotarea pentru UserLoginBlock clasă. Conținutul $build
matricea este returnată de la UserLoginBlock::build()
.
$form = \Drupal::formBuilder()->getForm('Drupal\user\Form\UserLoginForm');
unset($form['nume']['#attributes']['autofocus']);
unset($form['nume']['#descriere']);
unset($form['nume']['#atribute']['aria-describedby']);
unset($form['pass']['#description']);
unset($form['pass']['#attributes']['aria-describedby']);
$form['nume']['#size'] = 15;
$form['pass']['#size'] = 15;
$placeholder = 'form_action_p_4r8ITd22yaUvXM6SzwrSe9rnQWe48hz9k1Sxto3pBvE';
$form['#attached']['placeholders'][$placeholder] = [
'#lazy_builder' => [
„\Drupal\user\Plugin\Block\UserLoginBlock::renderPlaceholderFormAction”,
[],
],
];
$form['#action'] = $substituent;
$articole = [];
if (\Drupal::config('user.settings')->get('register') != UserInterface::REGISTER_ADMINISTRATORS_ONLY) {
$items['create_account'] = [
'#type' => 'link',
'#title' => $this->t('Creați un cont nou'),
'#url' => Url::fromRoute('user.register', [], [
'atribute' => [
'title' => $this->t('Creați un nou cont de utilizator.'),
'clasa' => [
„creare-cont-link”,
],
],
]),
];
}
$items['request_password'] = [
'#type' => 'link',
'#title' => $this->t('Resetați parola'),
'#url' => Url::fromRoute('user.pass', [], [
'atribute' => [
'title' => $this->t('Trimite instrucțiuni de resetare a parolei prin e-mail.'),
'clasa' => [
„cerere-parolă-link”,
],
],
]),
];
întoarcere [
'user_login_form' => $form,
'user_links' => [
'#theme' => 'item_list',
'#items' => $articole,
],
];