Разработка сайта языковой школы на 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Разработка сайта языковой школы на 1С-Битрикс
Сложная
от 1 недели до 3 месяцев
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1181
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    813
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Разработка сайта языковой школы на 1С-Битрикс

Языковая школа продаёт не товар, а результат: «заговорить на английском через 3 месяца». Сайт должен не просто перечислять курсы, а помочь потенциальному ученику определить свой уровень, подобрать группу и записаться — без звонка. На 1С-Битрикс это реализуется через инфоблоки с многомерной фильтрацией, кастомный компонент тестирования и интеграцию с платформами онлайн-обучения.

Каталог курсов: трёхмерная структура

Главная сложность каталога языковой школы — три оси фильтрации: язык, уровень, формат. Ученику нужно быстро найти «Английский, B1, групповой, вечернее время».

Инфоблок «Курсы» содержит разделы первого уровня по языкам (английский, немецкий, французский, испанский, китайский), второго уровня — по направлениям (General, Business, Exam Prep, Conversational). Свойства элемента:

  • Уровень (список с множественным выбором): A1, A2, B1, B2, C1, C2 по CEFR
  • Формат (список): групповой, мини-группа (3-5 чел.), индивидуальный, онлайн-группа, онлайн-индивидуальный
  • Интенсивность (список): стандарт (2 раза/нед.), интенсив (4-5 раз/нед.), выходного дня
  • Длительность (число): количество академических часов
  • Возрастная группа (список): дети 7-10, подростки 11-15, взрослые 16+
  • Результат (текст): что ученик сможет делать после курса

Фильтрация реализуется через bitrix:catalog.smart.filter с AJAX. Три выпадающих списка (язык → уровень → формат) работают каскадно: при выборе языка подгружаются только доступные уровни.

Онлайн-запись с подбором группы

Highload-блок «Группы» аналогичен по структуре каталогу автошколы, но с дополнениями:

  • UF_TEACHER_ID — привязка к инфоблоку «Преподаватели»
  • UF_LEVEL — уровень группы
  • UF_WEEKDAYS — дни занятий (битовая маска: ПН=1, ВТ=2, СР=4...)
  • UF_TIME_START — время начала занятия
  • UF_CLASSROOM — аудитория / ссылка на Zoom

Форма записи подсказывает подходящие группы на основании результата теста уровня. Если тест пройден и результат сохранён в профиле — поле «Уровень» заполняется автоматически, ученику остаётся выбрать удобное расписание.

Интеграция с LMS и Zoom

Для онлайн-формата необходима связка с LMS (Moodle, iSpring) и Zoom/Google Meet. Интеграция работает через REST API:

  • При создании группы с форматом «онлайн» автоматически создаётся повторяющаяся встреча в Zoom через API и ссылка записывается в свойство группы
  • Доступ к ссылке открывается в личном кабинете только записанным ученикам после оплаты
  • Материалы урока (презентации, аудио, домашние задания) хранятся в инфоблоке «Материалы» с привязкой к курсу и уроку

Личный кабинет ученика

Кабинет построен на кастомном шаблоне bitrix:main.profile с вкладками:

  • Мои курсы — активные, завершённые, предстоящие
  • Расписание — календарный вид с цветовой кодировкой по языкам
  • Домашние задания — список с дедлайнами и статусами (новое / сдано / проверено)
  • Оплата — история платежей, задолженности, ссылка на онлайн-оплату через модуль sale
  • Результаты тестов — динамика уровня, рекомендации по переходу на следующий

Тест определения уровня: deep-dive

Тест уровня — критическая точка воронки. Посетитель приходит с запросом «хочу учить английский», но не знает свой уровень. Если предложить позвонить — конверсия падает. Если дать пройти тест за 15 минут и сразу показать подходящие группы — записывается.

Архитектура теста

Инфоблок «Вопросы тестирования» с разделами по языкам. Каждый язык содержит подразделы по уровням (A1–C2). Свойства вопроса:

  • Тип (список): grammar, vocabulary, reading, listening
  • Уровень (список): A1–C2 — реальный уровень вопроса
  • Текст вопроса — детальное описание
  • Медиа — аудиофайл для listening-вопросов
  • Варианты ответов — 3-4 строковых свойства
  • Правильный ответ — номер варианта
  • Вес — числовое значение для алгоритма подсчёта

Адаптивный алгоритм

Стандартный подход «50 вопросов от A1 до C2 по порядку» — долго и скучно. Реализуем адаптивный алгоритм (упрощённый CAT — Computerized Adaptive Testing):

  1. Тест начинается с 5 вопросов уровня B1 (медианный уровень)
  2. Если ученик отвечает правильно на 4-5 из 5 — следующий блок берётся на уровень выше (B2)
  3. Если правильных менее 2 — на уровень ниже (A2)
  4. Если 2-3 — ещё 5 вопросов того же уровня для уточнения
  5. Тест завершается, когда алгоритм определил стабильный уровень (два последовательных блока с результатом 60-80%) или пройдено максимум 30 вопросов

Серверная часть — контроллер D7 (/api/placement-test/). Клиент отправляет ответ на текущий вопрос, сервер определяет следующий вопрос на основании накопленной статистики. Номера правильных ответов клиенту не передаются. Состояние теста хранится в $_SESSION с резервным сохранением в Highload-блок (на случай закрытия вкладки — тест можно продолжить).

Маршрутизация результата

После завершения теста контроллер:

  1. Определяет итоговый уровень по формуле взвешенного среднего (вопросы типа grammar имеют вес 1.0, vocabulary — 0.8, reading — 1.2)
  2. Сохраняет результат в профиле пользователя (свойство UF_LANGUAGE_LEVEL_{LANG})
  3. Делает выборку из Highload-блока «Группы» с фильтром по языку, уровню и статусу «Набор открыт»
  4. Возвращает страницу результата с блоками:
    • Определённый уровень с описанием («B1 — Intermediate: вы понимаете основные идеи текстов, можете общаться в большинстве ситуаций в путешествии...»)
    • Рекомендуемые курсы — карточки из инфоблока с фильтром по уровню
    • Ближайшие группы — конкретные даты начала, расписание, преподаватель
    • Кнопка записи — ведёт на форму с предзаполненными полями (язык, уровень)

Для неавторизованных пользователей результат сохраняется в cookie на 30 дней. При регистрации данные переносятся в профиль.

Повторное тестирование

Ученикам, прошедшим курс, предлагается пройти тест повторно через 3 месяца. Триггер — автоматическое email-уведомление через sale.personal.section и бизнес-процесс. Сравнение «до и после» отображается в личном кабинете как прогресс-бар с двумя отметками.

Акции и реферальная программа

Инфоблок «Акции» с датами действия (ACTIVE_FROM, ACTIVE_TO) и типами:

  • Приведи друга — реферальная ссылка генерируется в ЛК, при записи нового ученика по ссылке оба получают скидку (купоны модуля sale)
  • Корпоративное обучение — отдельная посадочная с формой заявки, расчёт от количества сотрудников
  • Сезонные — летний интенсив, подготовка к IELTS перед дедлайнами

Корпоративные заявки обрабатываются отдельно: данные попадают в CRM Битрикс24 через REST API webhook.

Этапы и сроки

Этап Что делаем Срок
Аналитика Карта курсов, матрица «язык × уровень × формат», требования к тесту 5–7 дней
Проектирование Wireframes, структура инфоблоков, алгоритм адаптивного теста 7–10 дней
Дизайн Макеты, UI-kit, адаптив под мобильные 10–14 дней
Разработка каталога Инфоблоки, фильтрация, карточки курсов, страницы групп 10–14 дней
Тест определения уровня Компонент, адаптивный алгоритм, страница результата 10–12 дней
Личный кабинет и интеграции ЛК ученика, Zoom API, оплата 10–14 дней
Контент и тестирование Наполнение базы вопросов, QA 7–10 дней

Общий срок — 9–12 недель. Наполнение базы вопросов для теста (минимум 120 вопросов на язык, по 20 на уровень) может идти параллельно с разработкой.