выводит календарик и список интервалов для записи, в модуле есть возможность:
- заблокировать отдельные повторяющиеся даты (праздники) в настройках модуля
- заблокировать дни недели (выходные) в настройках модуля
- установить на какое время вперед доступна запись (+30 дней) в настройках модуля
- установить интервалы времени для записи по дням недели (9:00,9:15,9:30...) в настройках модуля
- заблокировать определенное время на определенную дату: в модуле кликаем на нужную дату, кликом меняем статус нужного интервала времени. Сниппет выводит аналогичный календарик с учетом доступного времени.
- не выводит форму для записи при клике на время
- не хранит данные о бронировании пользователем
- Качаем архив, заходим модули->extras->Установка из архива, выбираем архив, готово.
- скопировать файлы
- создать модуль Booking c содержимым:
require(MODX_BASE_PATH.'assets/modules/booking/module.php');
- запустить модуль, нажать setup для устаноки настроек по умолчанию
- создать сниппет с содержимым:
require(MODX_BASE_PATH.'assets/modules/booking/snippet.php');
на странице используется сниппет [!Booking!], результаты работы выводятся в плейсхолдеры:
- [+booking_styles+] - подключение базового файла стилей
- [+booking_scripts+] - подключение JS (вызывать после JQuery)
- [+booking_dates+] - вывод календарика
- [+booking_times+] - вывод времени записи
Пример как использовать формой для записи - биндим клик на интервал, вызываем какую-то форму, передаем данные о времени и дате записи:
$(document).on('click','.booktimes span',function(){
if($(this).hasClass('disabled'))return;
var $form=$('.modalwindow');//ваше окно с формой
var time=$(this).data('time')
var date=active.getDate()+'-'+(active.getMonth()+1)+'-'+active.getFullYear();
$form.show();
$form.find('[name="date"]').val(date);
$form.find('[name="time"]').val(time);
};
});