[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, 09:17    Сергей Шлоков   G+  
5    1041 +5

Комментарии (6)

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

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

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