Отправляем задание урока после заполнения анкеты. Скрипт для getcourse
Изначально понадобится сделать:
Шаг 1. Подключаем JS код на страницу урока
// ОТПРАВЛЯЕМ ДЗ ЧЕРЕЗ СКРИПТ function sendLessonAnswer(answerText = "Анкета отправлена") { const link = window.location.href; // Проверка на нахождение внутри урока if (link.indexOf("teach/control/lesson/") === -1) return; // Проверка на наличие блока с заданием ( если находимся в веб-браузере ) if (link.indexOf("teach/control/lesson/view") !== -1 && $("#LessonAnswer_answer_text").length == 0) return; // Проверка на наличие блока с вкладкой "Задание" ( если находимся в приложении ) if (link.indexOf("teach/control/lesson/webview") !== -1 && $("nav.mode-selector a[data-mode='mission']").length == 0) return; // .. если проверки пройдены // Формируем параметры запроса const dataPost = { "LessonAnswer[answer_text]": answerText, "send-answer": "" }; // Делаем запрос (Отправка ДЗ) $.post(link, dataPost); }
Код можно вставить в JS-блок на странице урока либо подключить через тему (рекомендуется).
<script src="ССЫЛКА_НА_ТЕМУ"></script>
Подключение темы в блоке HTML:
<!--[JS] Автоматически отправить ответ в уроке --> <script src="/pl/cms/layout/js?id=21248&hash=a7dc761c666dd70b4aba1e9329b518c2&bundle=1"></script>
* в src ставить ссылку без домена на вашу тему
Если уроков с отправкой задания после заполнения анкеты будет много, то можно подключить тему с нашей функцией глобально в Настройки аккаунта --> Счетчики и прочие скрипты для BODY (применяются в течение 10 минут )
Шаг 2. Вызываем скрипт после отправки анкеты
В обработчике анкеты выбираем "Произвольное действие" → "Вызов Javascript"
В поле "Javascript" пишем вызов функцию
sendLessonAnswer();
sendLessonAnswer("Анкета заполнена и отправлена");
В параметры функции можно передать строку, эта строка будет в ответе к заданию. Если не передавать строку, то по умолчанию ответ в уроке будет "Анкета отправлена" (в функции можно изменить ответ по умолчанию)
Если на данном этапе протестировать, то после заполнения анкеты:
Само поле для ответа нужно скрыть, чтобы ученики не отправляли ответы без заполнения анкеты. Это можно сделать с помощью CSS.
Шаг 3. Скрываем блок ответа
В редактировании урока блоку с заданием прописываем класс view-collapsed Этот класс скроет видимость всего блока с заданием при просмотре
Для показа текста задания и блока статуса задания после отправки
Написать текст задания, например: Заполните и отправьте анкету
В подробные настройки блока "Задание":
/* Скрываем поля ответа в уроке */ .lesson-send-answer-block { display: none; }
или подключить этот стиль через тему
@import url("/pl/cms/layout/css?id=21248&hash=8ac884e322f5a4e345f338722db1cd29&bundle=1");
Версия JS 1.1
Работает в приложении Getcourse
Анкету можно скрыть по сегменту. В сегмент включить тех, кто выполнил урок("Ответ принят")
Обязательно все внимательно проверьте и протестируйте
Телеграм-канал: https://t.me/getcomponent
Youtube: https://www.youtube.com/channel/UCAVwlN_NSAEFR4mJRpzyvCg