Подсказка в поле регистрации пользователя

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

Аватар пользователя Айвн Айвн 19 августа 2013 в 20:38

Насмотрелся примеров и на форуме и в Гугле и в Яндексе тоже. Перерыл Ютуб.
Суть: Установил модуль userloginbar для вывода в одну строку полей регистрации пользователя. Встала задача экономии места и необходимо убрать подписи к полям Login и Password. В сети есть много примеров использования кода placeholder, но в описаниях говорится, что IE не поддерживает этого счастья и предлагается установить модуль jquery_placeholder.
Установил, описания насколько смог вычитал, но реализовать всего этого чуда не могу.
Насколько я понял userloginbar просто активирует форму, уже встроенную в ядро и примеры, описанные в сети к нему не подходят. По крайней мере на том уровне знаний на котором я пока нахожусь у меня сделать подобное не получается. Долблюсь с этим уже дней пять и пока нет здравых мыслей.
Помогите,разобраться в этом. Буду ОЧЕНЬ признателен за описания мыслей и действий. Не просто: Вставь это в сюда, а почему именно это и именно сюда? Т.е. как вы к этому пришли (учи PHP не самый продуктивный ответ - хотя он имеет место и право быть). Думаю, что для изучения будет полезно именно движение мысли увидеть.

Комментарии

Аватар пользователя Айвн Айвн 19 августа 2013 в 20:46

НАсколько я понимаю вот тачасть кода в модуле которая отвечает за форму:
function userloginbar_form_alter(&$form, $form_state, $form_id) {
global $form_values;
switch ($form_id) {
case 'user_login_block':
$destination = drupal_get_destination();
$form['#action'] = '?q=user&destination=' . $destination['destination'];
$form['#method'] = 'post';
$form['form_id'] = array(
'#type' => 'hidden',
'#default_value' => 'user_login',
);

$items = array();
if (variable_get('user_register', USER_REGISTER_VISITORS_ADMINISTRATIVE_APPROVAL)) {
$items[] = l(t('Register'), 'user/register', array('attributes' => array('title' => t('Create a new user account.')))) . ' |  ';
;
}
$items[] = l(t('Forgot Password?'), 'user/password', array('attributes' => array('title' => t('Request new password via e-mail.'))));
$form['links'] = array('#markup' => theme('item_list', array('items' => $items)), '#weight' => 100);
break;
}
}

Аватар пользователя Niklan Niklan 19 августа 2013 в 21:15

Бло чо вы мутиде я не одного из вас не понял?
На спичках скажите.

"kosHta" wrote:
Или переместить их в поле, сделав исчезающими при наведении

"kosHta" wrote:
убрать названия полей

Это все дело пары минут. Через хук формы как пить дать. Хотите, могу скинуть.

Аватар пользователя Айвн Айвн 19 августа 2013 в 21:17

Я хочу скрыть те подписи к полям что есть сейчас, но увидеть подсказки внутри поля.
Вот модуль для этого чуда https://drupal.org/project/jquery_placeholder
При установке он запросит еще этот https://drupal.org/project/elements и библиотеку

Аватар пользователя Айвн Айвн 19 августа 2013 в 21:22

"Niklan" wrote:
Это все дело пары минут. Через хук формы как пить дать. Хотите, могу скинуть.

Если этого будет вполне достаточно для моего понимания, то хочу (это первый сайт и первое знакомство с Drupal в целом и с php и css в частности). Потому буду вникать, но пока, видимо, еще и про хуки тут почитаю.
Шлите

P.S. Насколько я понял - форма вызывается ссылаясь на стандартную форму. Надо будет делать в исходной или в коде модуля? Я логику саму не очень понимаю (зато честен)

Аватар пользователя multpix multpix 19 августа 2013 в 21:22

"Айвн" wrote:
В сети есть много примеров использования кода placeholder, но в описаниях говорится, что IE не

function YOURTHEMENAME_form_alter( &$form, &$form_state, $form_id )
{
    if (in_array( $form_id, array( 'user_login', 'user_login_block')))
    {
        $form['name']['#attributes']['placeholder'] = t( 'Username' );
        $form['pass']['#attributes']['placeholder'] = t( 'Password' );
    }
}

а на осла и его пользователей просто забей)))

Аватар пользователя Айвн Айвн 19 августа 2013 в 21:24

"multpix" wrote:
а на осла и его пользователей просто забей)))

В смысле забить? А как же Юзабилити? Получается, что решение какое-то недоделанное

Аватар пользователя multpix multpix 19 августа 2013 в 21:36

"Айвн" wrote:
В смысле забить?

да безовсякого смысла забить)))

десятый осел понимает эту конструкцию
ослы помладше нет

p.s.
вобщем, пример кода у тебя есть - так делай для людей.
а коль за древних осликов переживаешь, то вот для них дополнительно и мудри костыль))

Аватар пользователя Айвн Айвн 19 августа 2013 в 21:38

"kosHta" wrote:
Поручик, оставьте юношеский максимализм.

статистика утверждает, что на данный момент пользователи,пользующиеся ослом - почти 15% (правдаверсию браузера я не могу назвать точно - нет у меня данных)

Аватар пользователя Айвн Айвн 19 августа 2013 в 21:39

"multpix" wrote:
вобщем, пример кода у тебя есть

Скажи еще мил человек - куда именно вставить этот волшебный код? Не в темплейт же страницы?

Аватар пользователя Niklan Niklan 19 августа 2013 в 21:42

"Айвн" wrote:
Вот модуль для этого чуда https://drupal.org/project/jquery_placeholder[/quote]
Это в html есть такой атрибут <input placeholder="логин">

"Айвн" wrote:
В смысле забить?

Забыть кто такие вообще. И повесить на весь экран для них еще приятную заставку "что лох, скачай браузера"

"Айвн" wrote:
А как же Юзабилити? Получается, что решение какое-то недоделанное

Это проблемы юзеров IE.

Ишак не доминирует на рынке браузеров, теперь его можно смело слать на три буквы.

http://www.w3schools.com/browsers/browsers_stats.asp смотрим на тенденцию IE.

"kosHta" wrote:
Редкостный дебил, но хорошей души человек, мирюсь))

таким ольдовым юзерам стоит в стоимость еще подкинуть сумму с 50% от всего проекта, чисто за IE. Вот сразу задумаются, инфа сотка.
Некоторые хитрожопые в магазине к стоимости товара 5$ накидывают если покупать с IE, и правильно делают. И пишут что, за то, что сайт доработан для ихнего ишака.

"multpix" wrote:
ослы помладше нет

ослы помладше умерли.
Выжил IE 8, у него 8% доли. Под него подгонять современный сайт? Убейтесь ребята, либо как писал выше, увеличивайте смело цену, дак не стесняясь.

Аватар пользователя Айвн Айвн 19 августа 2013 в 21:45

"Niklan" wrote:
И повесить на весь экран для них еще приятную заставку "что лох, скачай браузера"

Об этом я как-то не подумал )))))))

Аватар пользователя multpix multpix 19 августа 2013 в 21:52

"Айвн" wrote:
куда именно вставить этот волшебный код?

код обычный, вставлять не нужно, нужно использовать)

если будешь использовать в template.php темы - не забудь YOURTHEMENAME на свое,
если в модуле - то имя_модуля соотв.

Аватар пользователя Айвн Айвн 19 августа 2013 в 22:00

Да, значения действиетнльно вводятсявполя, но как-то еще видимо надо отключить подписи,а то получается дублирование: и название поля перед ним и название поля в нем..

Аватар пользователя Айвн Айвн 19 августа 2013 в 22:22

В итоге забил только на пользователей ослов прошлых версий, вставил код в Template.php своей темы и приписал еще пару строк. В итоге:

function silakmestu_theme_form_alter( &$form, &$form_state, $form_id )
{
if (in_array( $form_id, array( 'user_login', 'user_login_block')))
{
$form['name']['#title'] = Null;
$form['pass']['#title'] = Null;
$form['name']['#attributes']['placeholder'] = t( 'Username' );
$form['pass']['#attributes']['placeholder'] = t( 'Password' );
}
}

Чую, что коряво что-то

Аватар пользователя Chyvakoff Chyvakoff 20 августа 2013 в 9:23

"kosHta" wrote:
Редкостный дебил

Таким пох на юзабилити, они и незнают что это такое.
"Айвн" wrote:
(правдаверсию браузера я не могу назвать точно - нет у меня данных)

В гугле яндекс метрике забанили?

Аватар пользователя Айвн Айвн 20 августа 2013 в 10:15

Итого, финализирую:
Головой multpix и моим "мартышечьим" тестированием рабочий код выглядит так:

function НАЗВАНИЕ_ТЕМЫ_form_alter( &$form, &$form_state, $form_id )
{
if (in_array( $form_id, array( 'user_login', 'user_login_block')))
{
$form['name']['#title_display'] = "invisible";
$form['pass']['#title_display'] = "invisible";
$form['name']['#attributes']['placeholder'] = t( 'Username' );
$form['pass']['#attributes']['placeholder'] = t( 'Password' );
}
}

Вставляется в файл template.php (в теме adaptivetheme) и убирает подписи к полям регистрации пользователя на сайте, показывая эти названия внутри самого поля.
Пошел играть стилями с самими полями - сделаю 0,8 прозрачности им.

P.S. Отдельная СПАСИБА за помощь всем остальным кто принимал участие в мыслях, подсказках...