Как сделать 1 чеклист для всех пользователей?

Всем привет.

Есть чеклист — список шагов, которые надо выполнить каждому пользователю на сайте.
Этот чеклист релизован в виде MIGX и выводится на каждой странице.

Реализовано следующим образом:
  • Создан ресурс «Этап 1»
  • Создан MIGX-tv, где есть Название задания, Описание, Выполнено (чекбокс), Дата завершения (дата, когда выставлен чекбокс)

Соответственно, на одной странице таких задача штук по 10. Каждый пользователь логинится и заходит в эту закрытую зону (во фронте). Чекает галочками выполненные задачи и жмёт кнопку Сохранить/Отправить.
Чтобы информация об этой галочке и дата ее установки сохранялась в базе (например, расширить дополнительным полем или использовать FormItSaveForm) или в профиле пользователя (с помощью extended fields).

Как реализовать подобное?
FormItSaveForm, а потом запрашивать данные из сохраненных форм по совпавшему ID пользователя?
Расширенные поля на каждого пользователя? Но тогда их будет в будущем под несколько сотен.
А если пользователь снял галочку при ошибку, то как обнулить сроки значения?

Посоветуйте, пожалуйста.
Anton Erin
15 июня 2020, 14:54
modx.pro
171
0

Комментарии: 7

Anton Erin
16 июня 2020, 10:58
0
Всем привет.
Трудная задача и непонятно описал?
    Наумов Алексей
    16 июня 2020, 11:24
    +1
    Я бы в реализации данной задачи ушел от TV, а сделал отдельный компонент:
    — табличка для хранения этапов/задач
    — табличка для хранения выполнения этих задач пользователями.

    Реализация с кучей TV/ MIGX/ хранением в extended пользователя выглядит навороченной, сложной и проблемной в развитии и эксплуатации.
      Anton Erin
      16 июня 2020, 12:25
      0
      А как быть редактору сайта? В MIGX очень легко добавлять новые задачи, у каждой из них есть описания, ссылки.
        Наумов Алексей
        16 июня 2020, 13:13
        0
        В смысле как быть? Пусть заполняет через административный интерфейс.
        Anton Erin
        16 июня 2020, 13:23
        0
        Хотелось бы без отдельного компонента. MIGX вполне достаточно и удобно.
        Наверное, нужно сделать еще одну табличку, которая запоминает userId. Если он там есть и равен 1, то ему отображать галочку отмеченной. И как-то джоинить эту таблицу с TV.
        Есть смысл в этом?
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      7