Добрый вечер. В форме регистрации есть поле для введения пароля и поле для подтверждения пароля. Переопределив шаблон вывода страницы регистрации пользователя я вывожу это поле как <?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", которое подставляется как дефолтное к полю не получается.
Подскажите пожалуйста, что я делаю не так. Спасибо.
Комментарии
Вам нужно использовать 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']?>
у которых также есть свои заголовки и т.д. Так вот к свойствам этих полей у меня нет доступа.Лучше всего не править форму а добавить свою тему и спокойно темизировать форму ссылок в инете море.
Если речь идет о темизации через css, то это худший вариант, чем править форму через hook_form_alter
Имеется ввиду создание полноценной функции темизации или шаблона темизации, речи о CSS не было)
Первая ссылка у гугле http://dlart.ru/temizatsiya-form-v-drupal-7
Пока больше интересно, почему мне не добраться до заголовком и описаний указанных мной полей через переопределение форм hook_form_alter.
Как почему? Заинклюдить надо доп функции из модулей)
Можно подробней?
Проблема решена через
<?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
}?>