Есть ли способ навсегда добавить окно, отображающее очки студентов в навигационной панели - PullRequest
0 голосов
/ 23 января 2020

Итак, я работаю над проектом, который присуждает баллы студентам за отправку заданий или участие в форумах, затем эти баллы выставляются как ресурс Http с использованием Flask.

Баллы рассчитываются по события, которые запускаются для каждого учащегося.

Одним из требований сейчас является добавление поля рядом с именем учащегося, которое показывает общее количество набранных им баллов. У меня есть два способа доступа к точкам, либо через http-запрос от Moodle, либо путем сохранения и извлечения точек из базы данных Moodle.

Мой вопрос: каков наилучший подход к созданию этой «коробки»? попытался использовать блоки Moodle и взломать код, но, похоже, ничего не работает. Является ли создание плагина для этого единственного решения или есть более простой способ сделать это (если это возможно)?

1 Ответ

1 голос
/ 29 февраля 2020

Чтобы правильно ответить на ваш вопрос, вы должны указать хотя бы тему и версию Moodle, с которой вы работаете. Должно ли это поле отображаться везде? Рассчитывается ли оценка для каждого курса в отдельности?

Два предложения, которые мне пришли в голову:
Вы можете создать собственный плагин типа block. Там вы можете отобразить счет пользователя сеанса и десятку, например (если счет рассчитывается для каждого курса индивидуально). Недостатком является то, что каждый преподаватель курса может легко удалить этот блок, если он или она этого захочет.
Если счет рассчитан для всей системы, вы можете поставить этот флажок на стартовой странице вашего сайта Moodle, где только люди с более высокие права смогут удалить его.

Если вы используете повышение, вы можете отобразить счет в панели навигации рядом с именем пользователя. Для этого вам нужно будет создать новую дочернюю тему повышения и перезаписи navbar.mustache из theme_boost, которая получает информацию от columns2.php, потому что она включена в columns2.mustache. В этом файле PHP вы можете включить свою логику c и отобразить ее вместе с HTML, который вы поместили в navbar.mustache.

Конечно, это не совсем простые способы сделать это. Но сейчас я сомневаюсь, что для этой проблемы существует простое решение.

...