Я редактирую сайт, основанный на moodle, и мне нужно создать двойную регистрационную форму. Первый уже установлен (для школ), мне нужно создать еще один для частного пользователя. Какой был бы лучший способ сделать это? Стоит ли копировать основные файлы регистрации (signup.php и signup_form.php), а затем вносить туда изменения? Действительно спасибоДвойная регистрационная форма в moodle
0
A
ответ
0
Я думаю, что лучшим решением было бы создать новый плагин аутентификации.
https://docs.moodle.org/dev/Authentication_plugins
Может скопировать код отсюда /auth/email
в /auth/newname
- замена электронной почты с NewName в коде.
Возможно расширение класса? так что-то подобное в /auth/newname/auth.php
defined('MOODLE_INTERNAL') || die();
require_once($CFG->dirroot . '/auth/email/auth.php');
class auth_plugin_newname extends auth_plugin_email {
...
function can_signup() {
return true;
}
...
Затем скопируйте /login/signup_form.php
в /auth/newname/signup_form.php
Следующий бит я не слишком уверен, но, возможно, потребуется изменить /login/signup.php
Вокруг линий
if (empty($CFG->registerauth)) {
print_error('notlocalisederrormessage', 'error', '', 'Sorry, you may not use this page.');
}
$authplugin = get_auth_plugin($CFG->registerauth);
Изменение к
if (optional_param('newname', false, PARAM_BOOL)) {
$authplugin = get_auth_plugin('newname');
} else {
if (empty($CFG->registerauth)) {
print_error('notlocalisederrormessage', 'error', '', 'Sorry, you may not use this page.');
}
$authplugin = get_auth_plugin($CFG->registerauth);
}
Тогда для частных регистраций использовать
http://www.yoursite.com/login/signup.php?newname=1
Заменить 'NEWNAME' с именем вашего нового подключаемого модуля аутентификации.
Смежные вопросы
- 1. Регистрационная форма
- 2. Регистрационная форма в приятеле
- 3. Регистрационная форма - jQuery Mobile
- 4. Индивидуальная регистрационная форма пользователя
- 5. Joomla 3 регистрационная форма
- 6. Node.js Регистрационная форма
- 7. Регистрационная форма Angular 2
- 8. андроидная регистрационная форма разбилась
- 9. Создание Регистрационная форма
- 10. регистрационная форма для пользователя
- 11. Регистрационная форма - загрузить фото
- 12. Регистрационная форма [FOSUserBundle]
- 13. Вход Регистрационная форма Выпуск
- 14. Регистрационная форма не работает
- 15. Регистрационная форма popup
- 16. BuddyPress регистрационная форма shortcode
- 17. Регистрационная форма не отправляется
- 18. Регистрационная форма с wordpress
- 19. Регистрационная форма проверки для
- 20. Javascript: требуется регистрационная форма
- 21. Регистрационная форма save
- 22. PDO Регистрационная форма
- 23. Angular2: регистрационная форма valitation
- 24. Регистрационная форма не отправляется
- 25. Регистрационная форма PHP в mysql
- 26. Регистрационная форма проверки в PHP
- 27. регистрационная форма в биллинг wooccommerce
- 28. autoFill регистрационная форма в iphone
- 29. PHP Логин и регистрационная форма
- 30. MVC3 Регистрационная форма и модель
Хорошо, это работает, но мне нужно изменить поля с помощью частной учетной записи пользователя, я думаю, что мне нужно скопировать даже signup.php и изменить код там. Я попробую и дам вам знать, спасибо! –
oh, если вы расширили 'auth_plugin_email', затем скопируйте и измените' function user_signup' с '/ auth/email/auth.php' –
Хорошо, спасибо. Теперь я удвоил форму и создал новые элементы формы с помощью функции addElement(). Как я могу получить значения этих элементов и сохранить их в отдельной таблице базы данных? Может быть, что-то с $ form -> get_data()? На самом деле, спасибо, я новичок в разработке moodle, и я пытаюсь понять структуру ... –