Изменение обязательных полей.

Изменение обязательных полей.

от Roman Matveev -
Количество ответов: 18
Возможно ли как-то изменить обязательные поля? Проблема такая: Необходимо добавить пользователей, такие поля как email, страна, город им не к чему. Возможно ли как-то сделать данные поля не обязательными для заполнения? Возможно ли регистрировать пользователей на один email? Буду очень благодарен любой помощи. Спасибо!
В ответ на Roman Matveev

Re: Изменение обязательных полей.

от Alexandre Scherbyna -

Я читал где-то, что можно сделать так, чтобы адрес электронной почты не был уникальным. Но где не могу найти, хотя сейчас самому это надо.

Чтобы необязательные поля сделать обязательными и наоборот нужно править код в файле user/editlib.php

Если после строк

$mform->addElement('text', 'phone1', get_string('phone'), 'maxlength="20" size="25"');
$mform->setType('phone1', PARAM_NOTAGS);

добавить

$mform->addRule('phone1', $strrequired, 'required', null, 'client');

то первый телефон станет обязательным, а чтобы Город и Страна не были обязательными достаточно поставить символы  "//"  здесь :

 //   $mform->addRule('city', $strrequired, 'required', null, 'client');
 //   if (!empty($CFG->defaultcity)) {
 //       $mform->setDefault('city', $CFG->defaultcity);
 //   }

и здесь:

//   $mform->addRule('country', $strrequired, 'required', null, 'client');
//    if (!empty($CFG->country)) {
//       $mform->setDefault('country', $CFG->country);
//    }

В ответ на Alexandre Scherbyna

Re: Изменение обязательных полей.

от Сергей Юдинцев -

Добрый день!

Времени прошло много от начала обсуждения. Может появилась возможность в версии 3.1.3+ менять обязательность полей не в кодах, а где-нибудь поближе? Например поля Отчества и Отдела сделать обязательными и присутствующими в форме регистрации.

В ответ на Сергей Юдинцев

Re: Изменение обязательных полей.

от Vadim Tabunshchik -
Изображение пользователя Developers
В ответ на Vadim Tabunshchik

Re: Изменение обязательных полей.

от Mikhail Bauman -

А для версии Moodle 3.5+ известно подобное решение?

В ответ на Mikhail Bauman

Re: Изменение обязательных полей.

от Vadim Tabunshchik -
Изображение пользователя Developers
Михаил, плагин «Associated input» работает в Мудл 3.5.
Вот в более поздних версиях с ним какой-то глюк: поле не выводится на странице редактирования профиля пользователя. Пока не разобрался, в чем причина. И автор уже 1,5 года не отписывается на странице плагина.
В ответ на Vadim Tabunshchik

Re: Изменение обязательных полей.

от Vadim Tabunshchik -
Изображение пользователя Developers

Разобрался, плагин работает и в 3.8.2

А не выводится на странице редактирования профиля пользователя только в том случае, если вновь созданное поле типа associated связано со стандартным заполненным полем профиля.

И правильно, зачем выводить поле для редактирования, если значение уже указано в стандартном поле?

Может быть, в этом случае возникнет вопрос: зачем вообще нужно это поле associated?

Ответ: для вывода стандартных полей профиля там, где это не предусмотрено. Например: можно вывести номера телефонов на странице просмотра профиля и на странице создания новой учетной записи.

В ответ на Roman Matveev

Re: Изменение обязательных полей.

от Виталий Апраксин -

не обязательными для заполнения? Возможно ли регистрировать пользователей на один email?

Если Вы регистрируете через загрузку файла, то всё это можно, но впоследствии при ручном редактировании оно не даст сохранить.

 

В ответ на Виталий Апраксин

Re: Изменение обязательных полей.

от Vadim Tabunshchik -
Изображение пользователя Developers

Чтобы поле сделать необязательным, достаточно в строке $mform->addRule убрать required, оставить пустые кавычки (''): http://docs.moodle.org/dev/lib/formslib.php_Form_Definition#addRule

Но удивляет вот это: "такие поля как email… им не к чему" и "Возможно ли регистрировать пользователей на один email?"

Извините за грубость, но напрашивается вопрос: "А на фига вам тогда LCMS, Интернет, Веб-технологии и всё остальное вместе?" В Moodle 99% функциональности (начиная от регистрации, общения, и заканчивая разными отчетами) основывается на email

В ответ на Vadim Tabunshchik

Re: Изменение обязательных полей.

от Vadim Tabunshchik -
Изображение пользователя Developers

Сам исправлюсь: в 2.5 номер с пустыми кавычками не проходит грущу
Выходит, нужно всю форму переделывать, комментируя ненужные поля. удивляюсь

В ответ на Vadim Tabunshchik

Re: Изменение обязательных полей.

от Владислав Долгий -
Здравствуй, сделал я как ты написал, убрал required оставил только кавычки, над полем email пропала красная звездочка, я так понимаю поле стало не обязательным, но все рано после добавления пользователя оно просит ввести эмайл, что делать, подскажи.
В ответ на Владислав Долгий

Re: Изменение обязательных полей.

от Alexandre Scherbyna -

Электронная почта во многих местах используется, поэтому только звездочку убрать будет недостаточно.

Проще всего заполнить это поле чем-нибудь. А чтобы Moodle не пытался отправлять письма на этот адрес, он должен заканчиваться на .invalid. Например: not@email.invalid

Попробуйте с помощью phpMyAdmin прописать этот адрес как значение по умолчанию для поля email в таблице mdl_user.

В ответ на Roman Matveev

Re: Изменение обязательных полей.

от Maria Bud -

в версии 2.5, при загрузке пользователей из csv есть параметр, отвечающий за уникальность... но сама не пробовала, пока не было необходимости