Темизация полей "Введите пароль", "Подтвердите пароль" и поля типа "Дата - всплывающий календарь" [РЕШЕНО]

Главные вкладки

Аватар пользователя msidiagnos01 msidiagnos01 31 июля 2014 в 23:46

Добрый вечер. В форме регистрации есть поле для введения пароля и поле для подтверждения пароля. Переопределив шаблон вывода страницы регистрации пользователя я вывожу это поле как <?php print drupal_render($form['account']['pass']);?>

Ставлю модуль Devel и вижу, что чтобы убрать метку у первого поля "Пароль" мне нужно расковырять массив <?php $form['account']['pass']['pass1']['#title']?>, для поля "Подтвердите пароль" <?php $form['account']['pass']['pass2']['#title']?>

Пробую, ничего не получается. Описание для блока из обоих этих полей <?php $form['account']['pass']['#description']?> убирается спокойно, а дальше до полей не добраться.

Та же история и с полем типа "Дата", тип виджета "Всплывающий календарь". Метку и описание поля спокойно убираю как

<?php$form['field_user_birthday']['und'][0]['#title_display'] = "invisible";
<code lang="php"> $form['field_user_birthday']['und'][0]['#description'] = t('blablabla');?>

а убрать описание "Например 31.07.2014", которое подставляется как дефолтное к полю не получается.

Подскажите пожалуйста, что я делаю не так. Спасибо.

Комментарии

Аватар пользователя dashiwa dashiwa 1 августа 2014 в 0:52

Вам нужно использовать hook_form_alter там есть массив всех значений вашей формы . Спокойно меняете то что нужно и все отобразиться у вас на форме

Аватар пользователя msidiagnos01 msidiagnos01 1 августа 2014 в 8:25

dashiwa wrote:
Вам нужно использовать hook_form_alter там есть массив всех значений вашей формы . Спокойно меняете то что нужно и все отобразиться у вас на форме

Я уже использую hook_form_alter

Модулем Devel я получил массив для нужных мне полей и переопределил все нужные мне поля, кроме двух полей пароля (сам пароль и подтверждение) и поля с датой. Я смог получить доступ к заголовку и описанию своего поля "День рождения", которые задаются на этапе создания поля. Но не могу получить доступ к дефолтному друпаловскому описанию поля "дата", тип "встплывающий календарь" (дефолтная подсказка звучит как "Например: *текущее число*" )

Тоже самое и с полем пароля. Я переопределил поле <?php $form['account']['pass']?> убрав ему description, но в этом массиве <?php $form['account']['pass']?> формируется еще два массива с первым полем пароля и полем подтверждения пароля <?php $form['account']['pass']['pass1']?> и <?php $form['account']['pass']['pass2']?> у которых также есть свои заголовки и т.д. Так вот к свойствам этих полей у меня нет доступа.

Аватар пользователя enemis enemis 1 августа 2014 в 3:32

Лучше всего не править форму а добавить свою тему и спокойно темизировать форму ссылок в инете море.

Аватар пользователя msidiagnos01 msidiagnos01 1 августа 2014 в 8:39

enemis wrote:
Лучше всего не править форму а добавить свою тему и спокойно темизировать форму ссылок в инете море.

Если речь идет о темизации через css, то это худший вариант, чем править форму через hook_form_alter

Аватар пользователя msidiagnos01 msidiagnos01 1 августа 2014 в 13:03

Пока больше интересно, почему мне не добраться до заголовком и описаний указанных мной полей через переопределение форм hook_form_alter.

Аватар пользователя msidiagnos01 msidiagnos01 1 августа 2014 в 19:47

Проблема решена через

<?php function themename_preprocess_user_register_form(&$vars) {
$vars['form']['account']['pass']['pass1']['#title_display'] = "invisible";
$vars['form']['account']['pass']['pass1']['#attributes']['placeholder'] = t('Enter the password');
blablabla;
blablabla
}?>