Саморегистрация, выдача другой роли, нужных курсов

Саморегистрация, выдача другой роли, нужных курсов

от Андрей Казачков -
Количество ответов: 8

Добрый день стоит задача, не могу реализовать:

Сделать что бы люди, не числящиеся у нас в студентах, видели отдельные курсы и проходили внутри тесты, для определения уровня знаний. Затем по желанию клиента мы можем зачислить его на основные программы и курсы. Но т.к. отнюдь не всегда можно завести пользователя (например в выходной день) или их банально много, я пришёл к с саморегистрации.

Саморегистрацию по эл.почте я сделал. Сделал курс, что бы люди имели возможность самостоятельной записи на него.

Дальше вопросы:

1) Люди, которые заходят после саморегистрации, не видят этих курсов. Им нужно заходить в каталог курсов, находить нужную категорию и потом только записываться на курс. Категорий много, т.к. на сайте есть основной поток студентов, которых мы обучаем, регистрируем вручную и записываем на наши курсы и программы. Как сделать, что бы пользователь, после самостоятельной регистрации в системе, видел сразу же нужные курсы? Можно конечно добавить блок с категориями, перейдя в категории, увидят нужные курсы, запишутся. НО у нас есть основной поток, который будет эти категории тоже видеть.

1б) Я подумал о возможном решении с ролями, но не смог найти ответ на него: Можно ли сделать, что бы после саморегистрации в системе - автоматически присваивалась новая, другая роль ??? Затем я смогу эту роль настроить под категории и курсы.

2) При заходе на стартовую страницу, помимо входа в систему, видна ссылка "Создать новую учетную запись" Можно её как то убрать, что бы не путать основных пользователей? Мы будем выдавать страницу с формой саморегистрации по запросу клиента.


В ответ на Андрей Казачков

Re: Саморегистрация, выдача другой роли, нужных курсов

от Vadim Tabunshchik -
Изображение пользователя Developers
1) Копайте в сторону плагинов записи на курс, чтобы после входа на сайт нужные пользователи сразу были записаны в нужный курс и, даже, перенаправлялись в него. AutoEnrol или Auto enrolment могут подойти.
1б) Роль пользователя не зависит от способа регистрации. Всем новым пользователям в рамках сайта (системы) назначается одна и та же роль, указанная тут: Роль по умолчанию для всех пользователей defaultuserroleid.
2) Стиль CSS в настройках темы оформления пропишите, чтобы скрыть эту ссылку
 
В ответ на Vadim Tabunshchik

Re: Саморегистрация, выдача другой роли, нужных курсов

от Андрей Казачков -
поставил плагины, к сожалению нет такого, что бы пользователи пришедшие с саморегистрации автоматом записывались на курс. Есть только возможность автозаписи для ролей. Других вариантов пока не нашел.
2 плагина
В ответ на Андрей Казачков

Re: Саморегистрация, выдача другой роли, нужных курсов

от Vadim Tabunshchik -
Изображение пользователя Developers
А точно искали? улыбаюсь
Добавьте в форму для саморегистрации какое-нибудь уникальное поле и записывайте в курс таких пользователей с помощью Enrol by user profile fields
В ответ на Vadim Tabunshchik

Re: Саморегистрация, выдача другой роли, нужных курсов

от Андрей Казачков -
В тех плагинах точно не было)
Добавил поле, через админку, но, оно показывается везде: при саморегистрации, при ручной, в редактировании пользователя.
Тогда добавил поле напрямую в signup_form.php, поле появляется только при саморегистрации, при ручной нет.
А записывается ли это поле, что бы потом по нему отфильтровать пользователя ?  Если при просмотре профиля пользователя нету его.
Или я что-то напутал в signup_form.php?

signup_form.php


В ответ на Vadim Tabunshchik

Re: Саморегистрация, выдача другой роли, нужных курсов

от Андрей Казачков -

Не получается скрыть через css , нету классов у элемента..

Пробывал найти строчку отвечающую за вывод данной строки тоже безуспешно.

Подскажите как быть, надо скрыть эту строчку. Спасибо

1

В ответ на Андрей Казачков

Re: Саморегистрация, выдача другой роли, нужных курсов

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

Какие плагины аутентификации включены на сайте? Версия Мудл?

Я такого в блоке «Вход» не припомню, но подозреваю, что «Новая учетная запись» может появляться при включении плагина «Не использовать аутентификацию». Или, если правили сам блок или перевод строк.

Строк, выводящих «Не использовать аутентификацию», в moodle.php (версия 3.8.1+) две:

  • $string['newaccount'] = 'Новая учетная запись';
  • $string['newusernewpasswordsubj'] = 'Новая учетная запись';

И фраза «Забыли логин или пароль?» смущает, в современном переводе просто «Забыли пароль?»

Включите в отладке «Выводить источник строк перевода» debugstringids, добавьте к URL страницы ?strings=1 или &strings=1 и увидите, откуда и какие строки выводятся:

ris2

В ответ на Vadim Tabunshchik

Re: Саморегистрация, выдача другой роли, нужных курсов

от Андрей Казачков -
Версия Moodle 3.7.4. Включил только плагин самостоятельная рег.по электронной почте.
Решил вопрос:
Включил "выводить источник строк перевода". Обнаружил  "newaccount"
Далее я долго искал где этот элемент прописан)) находил его много где, но отвечающий именно за отображение на стартовой странице нашел тут:
/theme/моятема/templates/core/loginform.mustache:
внутри строка:  " | <a href="{{{ config.wwwroot }}}/login/signup.php?">{{#str}}newaccount{{/str}}</a> "  за комментировал её, и всё гуд. Vadim спасибо за подсказку!)

Остался один не решённый вопрос:
Отфильтровать пользователей, которые воспользовались саморегистрацией, записать их в группу.
Я сделал дополнительное поле при саморегистрации, прописав в "signup_form.php":
поле
После чего я хотел отфильтровывать пользователей и записывать их в группу, НО при нажатии на кнопку "Показать больше" отсутствует фильтр саморегистрация.
А) Значит его нужно добавить в код какого то файла?     в /admin/user.php нужно прописывать ?     что именно? 
В) Нужно же, что бы и в Б.Д. появилось это поле? (но только у самозарегестрированных)
Или есть какой то другой вариант разграничения  самозарегистрированных  от  ручной регистрации ?