Настоящий блог поставляется на условиях "как есть". Автор не принимает на себя никаких гарантийных обязательств и не несет ответственности за любые убытки читателя, полученные при применении знаний, почерпнутых из этого блога.
Страницы
Ярлыки
moodle
затачивание пилы
автоматизированная обучающая система
php
python
yii
байесовские сети
вспомнить-все
красивый код
модель обучаемого
git
linux
интеллектуальная обучающая система
проверка решений
.tex and HTML
Automatic Assessment In Math Education
CSS
Django
Front-end
HTML
ImageJ
PyDev
South
Sublime
Ubuntu
VirtualBox
ajax
haskell
jQuery
javascript
mathjax
maxima
ООП
вычислительная сложность алгоритмов
зарубежные конференции
интернет-технологии
логистическая регрессия
машинное обучение
методы классификации
вторник, 10 января 2012 г.
Создание модуля в Moodle 2.x типа activity (часть 7)
Следующий шаг - сделать так, чтобы при нажатии на кнопку "Сохранить" пользователю записывалась в gradebook та оценка, которую он выбрал. Попробую для начала получить данные, введенные пользователем в форму. Посмотрела на файл <...>/moodle/mod/glossary/import.php и написала следующие строки в файл <...>/itask/view.php: Функцию get_data() нашла в файле formslib.php. Тут написано, что get_data() - "Получить данные формы после всех проверок на стороне клиента и сервера. Данные получаются в виде объекта, именами полей которого являются имена заданных в функции definition() объектов, а значениями - значения полей в форме (по умолчанию или введенные)." Так что дописала еще такие строки:
Кстати, вывод footer'а тут нужен для того, чтобы сбоку на новой странице после нажатия кнопки "Сохранить" в окне activity типа itask оставалось стандартное меню Moodle.
Теперь при открытии конкретного activity типа itask Moodle стал выдавать следующую ошибку: "You must specify a course_module ID or an instance ID". Далее я заметила, что в файле <...>/moodle/lib/formslib.php конструктору класса moodleform на самом деле подается несколько параметров со значениями по умолчанию, в их числе параметр $customdata, про который в комментариях написано, что "param array $customdata if your form defintion method needs access to data such as $course $cm, etc. to construct the form definition then pass it in this array. You can use globals for somethings".Если в файле view.php закомментировать все, что связано с submit_form, и написать
То при открытии одного activity типа itask каждый раз будет выводиться "n=0, id=8", а для другого - "n=0, id=9". Если попробовать вывести course->id, то будет выводиться "2", непонятно почему, ведь в настройках курса в поле "идентификатор курса" я ставила значение 1. Правда, в справке Moodle к полю "идентификатор курса" написано, что "Идентификационный номер курса необходим только при использовании его во внешних системах." Так как это поле можно оставить пустым, видимо, этот идентификатор и "системный" - две разные вещи. Тогда создала экземпляр класса mod_itask_submit_form так:
И заработало, теперь при нажатии кнопки "Сохранить" на новой странице браузера вместо элементов управления submit_form выводится выбранная оценка.
Подписаться на:
Комментарии к сообщению (Atom)
Архив блога
-
▼
2012
(16)
-
▼
января
(7)
- Maxima и Moodle интеграция
- Создание модуля в Moodle 2.x типа activity (часть 8)
- Создание модуля в Moodle 2.x типа activity (часть 7)
- Создание модуля в Moodle 2.x типа activity (часть 6)
- Создание модуля в Moodle 2.x типа activity (часть 5)
- Создание модуля в Moodle 2.x типа activity (часть 2)
- Создание модуля в Moodle 2.x типа activity (часть 1)
-
▼
января
(7)
Комментариев нет:
Отправить комментарий