Даты и зависисые поля

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

Аватар пользователя Pixelbroks Pixelbroks 26 ноября 2014 в 18:34

Добрые вечер форумчане. Есть вопрос

Нужно сделать конструкцию где по определенному возрасту(например: если пользователь достик 18 лет, то показать поле загрузки файла "загранпаспорт" ,а если не достиг то скрыть) скрывать или показывать определенные поля. На чистом php это арифметика. Но на друпал даже не представляю как это сотворить.

Я понимаю что нужно использовать conditional fields но там подобной настройки просто не нашел. Подаскажите пожалуйсто.

Заранее спасибо большое.

П.С. conditional field я использую потому что пользователи у меня могут свободно добавлять новости и сразу регестрироваться , новости у меня играют роль заказа. Частью заказа является загрузка нужных документов.

Комментарии

Аватар пользователя voviko voviko 26 ноября 2014 в 19:35

hook_form_alter(&$form, &$form_state, $form_id) {
if($form_id == 'Моя форма') {
//проверяем возраст
if($age < 18) {
$form['file_pasport']['#type'] = 'hidden';
}
}
}

Аватар пользователя Pixelbroks Pixelbroks 27 ноября 2014 в 15:54

voviko wrote:
hook_form_alter(&$form, &$form_state, $form_id) {
if($form_id == 'Моя форма') {
//проверяем возраст
if($age < 18) {
$form['file_pasport']['#type'] = 'hidden';
}
}
}

Спасибо за ответ, только один вопрос. от куда вы взяли п еременную $age и число 18 ? ну допустим мы загнали функцию date() в какую то переменную. Но а если нужно вытащить значение поля date или текстового. Не подскажите как вытащить ? с ночи роюсь никак не могу разобраться .

По сути то .

1. Нужно взять значение поля date (field_birthday)
2 Создать переменную теперешней даты.
3. Отминусовать условием field_birthday от теперешней даты.
спасибо еще раз

Аватар пользователя gun_dose gun_dose 27 ноября 2014 в 16:21

"Pixelbroks" wrote:
По сути то .
1. Нужно взять значение поля date (field_birthday)
2 Создать переменную теперешней даты.
3. Отминусовать условием field_birthday от теперешней даты.
спасибо еще раз

добавьте ещё пункт:
2.1. Конвертировать дату рождения: $Time = strtotime($Time);

потому что в этом месте зарыто очень много собак.