Чек-лист к материалу

Чек-лист к материалу

Компонент, открытый исходный код

Контент InstantCMS 2.X

Превратите готовую таблицу в тексте материала в личный чек-лист читателя. Добавьте к таблице класс checklist или ID checklist и сохраните запись: строки станут пунктами, рядом появится счётчик, а выполненные пункты будут приглушены. Таблица остаётся на своём месте; повторно вводить пункты не нужно.

Регистрация необязательна: гость сохраняет отметки в своём браузере на 3 дня после последнего изменения. У вошедшего пользователя прогресс сохраняется в аккаунте и доступен с другого устройства. Компонент подходит для инструкций, учебных материалов, маршрутов, игровых гайдов и подборок заданий.

Работает со светлой и тёмной темой, поддерживает мобильный экран и управление с клавиатуры. Подключение выполняется средствами CMS, без вставки JavaScript в текст материала.

Возможности

  • Автоматическое создание пунктов из строк готовой таблицы.
  • Текущий прогресс бар со шкалой и процентами.
  • Несколько независимых чек-листов в одном материале.
  • Личный прогресс каждого читателя и счётчик выполненных пунктов.
  • Приглушение выполненных строк с сохранением читаемости текста и ссылок.
  • Постоянные ID: исправление текста и перестановка строк сохраняют отметки, если редактор сохраняет служебные атрибуты.
  • Сброс личного прогресса с подтверждением.
  • Светлая и тёмная темы, мобильный экран, Tab и Space.
  • Установка стандартным пакетом через административную панель InstantCMS.

Подключение

  1. Установите articlechecklist-0.2.0.zip через штатный установщик дополнений.
  2. Подготовьте пресет HTML-фильтра для нужного текстового поля: разрешите у table атрибуты id, class, data-checklist, у tr — data-checklist-point, тип «Текст». Сохраните остальные правила пресета. Удобно создать копию пресета и назначить её только нужному полю.
  3. Убедитесь, что выбранный визуальный редактор сохраняет эти атрибуты.
  4. У готовой таблицы укажите class=«checklist» или id=«checklist». Для нескольких таблиц используйте класс; одинаковый ID на странице не повторяйте.
  5. Сохраните материал обычной кнопкой CMS и откройте его полную страницу. Заголовок оформляйте через thead; каждая строка данных становится одним пунктом.

После подключения изменяйте пункты в самой таблице. Не удаляйте назначенные компонентом служебные атрибуты. Если копируете таблицу для нового события, удалите у копии data-checklist и data-checklist-point перед первым сохранением, чтобы начать отдельный список.

Хранение отметок

Гостевые отметки хранятся в текущем браузере 3 дня после последнего изменения. Обычный просмотр срок не продлевает. Очистка данных браузера может удалить отметки раньше. Рядом с чек-листом отображается сообщение о сроке хранения.

У вошедших пользователей прогресс хранится в аккаунте без гостевого трёхдневного ограничения. Гостевые отметки автоматически в аккаунт не переносятся. Материалы и отдельные списки имеют независимый прогресс.

Совместимость и ограничения

  • Проверено на InstantCMS 2.18.2. PHP 8.2 или новее; выполнение проверено на PHP 8.2, синтаксис — на 8.2–8.5.
  • Проверены Modern и тёмная тема RAID. Для другого шаблона рекомендуется проверить оформление на копии сайта.
  • Текущая версия предназначена для опубликованных общедоступных материалов без родительской группы доступа.
  • Поддерживаются плоские таблицы до 500 пунктов; вложенные таблицы не подключаются.
  • Требуется настроенный штатный пресет HTML-фильтра и редактор, сохраняющий разрешённые атрибуты. Компонент не меняет общие пресеты автоматически.
  • Для готовых таблиц отдельное поле не требуется. Дополнительный тип поля «Чек-лист к материалу» также входит в пакет.

Обратная связь

Есть идеи, как сделать чек-лист удобнее? Поделитесь предложениями в комментариях — они помогут выбрать, что улучшить в следующих версиях.

Нет сообщений...
🍪Мы используем файлы cookie для работы сайта. Читать подробнее.