[fullCalendar] Пример системы записей

Работая над обновлением компонента fullCalendar и глубже вникая в api яваскрипт библиотеки fullCalendar, получил очень большое впечатление от её возможностей. А с впечатлением пришло и понимание, что её применение можно расширить. Например, она достаточно легко позволяет реализовать несложную систему записей. Вариаций может быть достаточно много. Я хочу продемострировать один из примеров такой системы в стиле EMIAS (запись к врачу).

Для реализации такой системы хватило несколько строчек кода.

Стоит отметить, что такая возможность появилась только начиная с версии 2.0.1-pl, в которой появились яваскрипт события fc_event_render, fc_event_after_render и fc_calendar_after_render.
Добавлю, что в этой версии добавлено несколько параметров для сниппета fullCalendar, один из которых nowIndicator, отображающий маркер текущего времени (красная полоса). Удобная фича, которую я почему-то заметил не сразу.

Жаль, что у Scheduler'а нереальный ценник. А то вариантов было бы значительно больше.

Пощупать в живую можно тут.
На этом всё. Спасибо за внимание.
Сергей Шлоков
09 августа 2016, 06:17
modx.pro
4
1 888
+5
Поблагодарить автора Отправить деньги

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

Антон
10 августа 2016, 03:09
+1
Есть сайт с учебными курсами. Каждый курс по 8 или 16 часов. На один курс может зарегиться более одного человека, но не более 25.
Каждая регистрация должна попадать в корзину.
Есть расписание курсов, каждый курс примерно раз в 2 месяца.

Можно это реализовать здесь?
    Волков Николай
    10 августа 2016, 06:24
    0
    Каким образом интересно? Вам не кажется, что функционал ограничения доступа пользователей сайта к ресурсам и их возможностям не имеет никакого отношения к вышеописанному календарю, по большей степени являющимся не более чем графическим интерфейсом? То есть средство для более удобной работы с вещами завязанных на датах?
      Антон
      10 августа 2016, 06:50
      0
      В настоящее время у меня проблема с датами. Очень некрасиво. Все даты записываются в «размер», а фильтр работает через ТВ с месяцами.
      Сейчас думаю как можно красоту навести.
        Волков Николай
        10 августа 2016, 07:16
        0
        Не понял, что имелось ввиду под словом «размер» :-) но в любом случае повторяю: календарь просто упрощает ввод и делает нагляднее вывод переменных с датами. Ожидать от него, что он вам поможет более, чем указывать дату начала и конца, не бессмысленно. В вашем случае нужно:
        1) в папке минишопа перейти в model/minishop2 и там найти файл msProduct.class.php и в нем заменить $allowChildResources с false на true, чтобы иметь возможность создавать дочерние ресурсы у товаров.
        2) нужно создать кастомный класс от modResource и у него нормально переписать метод checkPolicy(), который в своём результате выдаёт разркшение на просмотр («view») ресурса у пользователя.
        3)Создать новую таблицу, где будут храниться даты с которых можно смотреть пользователя прошлый ресурс + ID пользователя и самого ресурса.

        и т.д.
      Сергей Шлоков
      10 августа 2016, 16:48
      0
      В данном случае календарь может пригодится только для вывода расписания этих самых курсов.
      Alexander V
      12 августа 2016, 01:44
      0
      .
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        6