Добавить параметр в форму регистрации пользователей.

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

Аватар пользователя Alt.F4 Alt.F4 10 июля 2011 в 17:35

Добрый день.
Я начинающий. Хочу сделать сайт на Drupal 7.4, но возникла проблема.
Надо добавить вводимый пользователем параметр при регистрации, который в последующем юзер изменить не сможет.
Каким образом можно реализовать задуманное?
Спасибо.

P.S. Добавлял новое поле в настройках модуля user, но там как ни крути, а в профиле каждый пользователь может изменить данный параметр...

Комментарии

Аватар пользователя Ahiles Ahiles 10 июля 2011 в 18:34

В hook_form_alter можно закрыть доступ к данному поля следующим образом
$form['myfield']['#access'] = FALSE;
и тогда пользователь не сможет его изменить

Аватар пользователя Alt.F4 Alt.F4 10 июля 2011 в 22:44

Почитал про hook_form_alter, но так и не понял, куда вставлять эту PHP функцию.
Пишут, что в модуль, но у модуля "user" в папке modules пять файлов с расширением ".php"...

Аватар пользователя AI AI 10 июля 2011 в 23:03

"Alt.F4" wrote:
Добрый день.
Я начинающий.

"Ahiles" wrote:
В hook_form_alter можно закрыть доступ к данному поля

Ржунимагу.
Ройте на предмет прав на сск-поля. Можно настроить вывод для показа не редактируемым полем, а простым текстом. В конце-концов никто не мешает просто читать данные из БД и выводить как душе угодно.
Но раз уж в пляс пошли, то вот Вам еще пару возможностей:
1. Сделать запрет на редактирование input-форме (ява-скрипт, css свойство или иной доступный метод).
2. Вообще нафик скрыть поле и не показывать его юзверю (css достаточно).
3. На этапе отрисовки страницы предусмотреть прехват выводимого cck-поля и перерисовывать его - темизация шаблонов вам в помощь.
Не знаю, чей ответ лучше. В вашем случае матчасть учить надо, потом решение само в голову придет.
Что касаемо первого ответа от Ahiles, то это чистой воды темизация форм друпала. Если на пальцах объяснить - это сумма моих второго и третьего пункта.