[fullCalendar] Небольшие доработки
Основные изменения
Пример альтернативного использования
Можно для неавторизованного пользователя выводить какое-нибудь сообщение раз в 5/10 минут с предложением авторизоваться. Т.е. пишем в вашем сниппете куку со сроком истечения 5 минут и проверяем — истекло, выводим сообщение.
На этом всё. Спасибо за внимание.
Полная документация.
- Обновлена библиотека fullcalendar.js до 2.6.1.
- Адаптирован скрипт установки для MODX 2.4.
- Добавлена возможность отключать стандартные файлы скриптов и стилей. Для этого нужно в настройках указать вместо файлов пустую строку.
- Добавлены настройки для отключения загрузки библиотек jQuery и jQuery UI.
- Добавлена настройка для подключения пользовательского сниппета для подготовки уведомлений.
- Добавлена проверка обновлений в интерфейсе администратора.
- Исправлены найденные ошибки.
Управление стилями и скриптами дополнения
И раньше можно было подключать свои файлы вместо стандартных. Но меня просили сделать возможность вообще отключить загрузку, чтобы централизовано загружать все файлы в шаблоне, например, через minifyX. Теперь эта возможность есть. Нужно просто указать пустую строку в настройках fullcalendar.default_css и fullcalendar.default_js.Управление библиотеками jQuery и jQuery UI
Опять же, если нужно управлять этими библиотеками самостоятельно, то их можно отключить. Для этого есть соответствующие настройки fullcalendar.load_jquery и fullcalendar.load_jquery_ui.Пользовательское управление уведомлениями
Эта возможность пригодится программистам. В системной настройке fullcalendar.prepare_notify_snippet нужно указать название сниппета, который будет вызываться при обработке запроса на уведомления, если они включены. Выполняется он в контексте класса fullCalendar. Поэтому, во-первых, нужно обращаться через $this. А во-вторых, ему доступны настройки класса $this->config (массив). Можно в зависимости от условий поменять, например, диалог (чанк) для вывода уведомления —if ($modx->user == 1) {
// tplNotify - параметр сниппета fullCalendar, который переходит в конфиг.
$this->config['tplNotify'] = 'newTemplateNotify';
}
В пользовательском сниппете доступен массив $events с перечнем событий для уведомления. В него можно добавлять события, изменять или удалять их// Добавим событие
$events[] = array(
'id' => 0, // Событие не из базы, поэтому 0
'title' => 'Пробное уведомление',
'start_date' => '2016-03-29 16:08:00',
// Эти поля в чанке не используются, но ими можно оперировать. Также можно добавить свои.
// А в своем шаблоне добавить соответствующие плейсхолдеры.
'notify_time' => '2016-03-29 16:08:00',
'description' => '',
'user' => 1, // автор события. Если 0, то аноним.
'repeated' => 0,
'repeat_options' => '',
);
Пример альтернативного использования
Можно для неавторизованного пользователя выводить какое-нибудь сообщение раз в 5/10 минут с предложением авторизоваться. Т.е. пишем в вашем сниппете куку со сроком истечения 5 минут и проверяем — истекло, выводим сообщение.
На этом всё. Спасибо за внимание.
Полная документация.
Поблагодарить автора
Отправить деньги