[UserEvents] - события пользователя.
Компонент реализует функционал создания пользователями событий на ресурсы.
Особенности:
— создание событий как на фронте, так и в админке сайта
— интеграция с miniShop2 (заказы, оплата)
Демо сайт userevents.vgrish.ru
Логин и пароль для входа в админку test
вкладка компонента
Основная панель управления находятся в отдельном разделе сайта, доступном через меню.
Содержит вкладки:
— события
— статусы
Сниппет ue.order
Выводит форму оформления заказа/ бронирование события.

Сниппет ue.get.order
Вывод оформленного заказа/ забронированного события.

Важно!
— оплата бронирования реализована через методы оплаты miniShop
— все сниппеты UserEvents работают при помощи pdoTools и рассчитывают на использование Fenom в чанках.
— компонент требует предварительной установки pdoTools и miniShop
— при создании события без заказа оповещения на смену статусов придется писать самостоятельно. Пример есть в документации.
PS. Кратко пока вся информация, подробнее в документации. Спасибо за внимание.
Особенности:
— создание событий как на фронте, так и в админке сайта
— интеграция с miniShop2 (заказы, оплата)
Демо сайт userevents.vgrish.ru
Логин и пароль для входа в админку test
вкладка компонента
Основная панель управления находятся в отдельном разделе сайта, доступном через меню.
Содержит вкладки:
— события
— статусы
Сниппет ue.order
Выводит форму оформления заказа/ бронирование события.

Сниппет ue.get.order
Вывод оформленного заказа/ забронированного события.

Важно!
— оплата бронирования реализована через методы оплаты miniShop
— все сниппеты UserEvents работают при помощи pdoTools и рассчитывают на использование Fenom в чанках.
— компонент требует предварительной установки pdoTools и miniShop
— при создании события без заказа оповещения на смену статусов придется писать самостоятельно. Пример есть в документации.
PS. Кратко пока вся информация, подробнее в документации. Спасибо за внимание.
Комментарии: 45
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.




Если надо будет много мест типа выбора мест в зале 20*20?
В качестве так называемого места может выступать любой ресурс.
на событие UserEventsOnBeforeGetOrderCost пишите плагин docs.modx.pro/components/userevents/development/events
там согласно вашей логике будет расчет стоимости. У вас может быть твердая стоимость, может быть какая либо тарифная сетка и тд.
Можно конечно было прикрутить это в админку, но сохранить при этом гибкость расчета я не придумал как.
Так что все в ваших руках…
Если надо будет много мест типа выбора мест в зале 20*20?
можно создать 20*20 ресурсов и разместить их в форму заказа, пример userevents.vgrish.ru/events/zapis-3.html
Что бы хотелось добавить:
Было бы неплохо добавить в системные настройки указание группы пользователей для выбора юзера при создании события, допустим есть группа тренеров и только из неё можно выбирать, сейчас выбор среди всех юзеров системы.
И круто было бы иметь возможность создавать такие таблицы-расписания в нескольких экземплярах, под разные группы событий, например, есть группа — тренинги, у неё своя таблица событий, своя группа пользователей (тренеров, которых можно выбирать в списке создания события) и своя группа, куда регистрируются заказчики.
И есть группа, например, марафоны — тоже со своей группой ведущих и группой регистрирующихся.
пока не вижу в этом смысла, только при каком то дальнейшем развитии компонента в ту сторону что вы описали ниже.
Излишне усложнять компонент пока не планирую…
в данный кусок вставляю 'workTimes' =>`[[!snippetName]]`
Собственно не могу разобраться как в «workTimes» вернуть данные из сниппета, который обрабатывает поля со временем, т.е. отдельный сниппет делает выборку с базы по определенному условию и, по логике, должен вернуть массив с данными — массив возвращаю, но вывод интервалов записи не осуществляется. Вопрос в том, в каком виде должен возвращатся результат работы скрипта. Спасибо заранее! За пример буду очень благодарен!
Добавить проверку на время
Ещё остался момент – как-то показывать время, с учётом часового пояса пользователя сайта? Сейчас я как понимаю, идёт привязка к часовому поясу сервера сайта.
Гущин СергейРасчет стоимости идет на событие UserEventsOnBeforeGetOrderCost
Пример плагина есть в комплекте UserEventsExample, вам нужно только изменить его под свою логику.
Добавьте после строчки
и увидите в логе все доступные переменные. Вам нужно взять кол-во часов и перемножить на стоимость часа.
Если возникли трудности — пишите в ТП.
Спасибо!
У меня пару вопросов:
1. сейчас можно сделать бронь на время только один раз а как сделать что бы одно время могло забронировать 5 человек, а лучше что бы это указывал менеджер при создании эвента.
2. Можно ли вывести на страницу календарь с информацией о брони при наведении на дату? (информация для тренеров и администраторов)
1- можно переопределить getReservedEventsCriteria, в нем прописать свою логику
пример
1) В примере http://userevents.vgrish.ru/events/zapis-1.html, если на какой то промежуток времени уже есть запись, то она блокируется.
У меня почему то можно повторно записываться на это же время. Куда копать, где можно установить, что на каждый промежуток времени, одна запись?
2) Где прописывается стоимость записи. У меня по умолчанию стоимость выводится равной id ресурса, почему то((. Мне надо задать, что это бесплатно. Куда копать?
для этого статусу нужно активировать чекбокс резерв
2 — Стоимость события рассчитывается на событие UserEventsOnBeforeGetOrderCost, пример расчета указан в плагине UserEventsExample
Ненужно дублировать сообщения с ТП тут. Спасибо!
Спасибо, вопрос решил.
Можно организовать запись на курсы, если они длятся несколько дней и запись возможно в ограниченном количестве и записать только в те, что предстоит?
Например обучающий курс для дневной группы длить с 1-4 числ для вечерней с 6-10 число — это как один ресурс с одним видом курсов. Будет еще и друге курсы, так-же дневные, вечерние и в выходной день, длятся несколько дней и записаться можно только в первый день начала.
вместо выбора студии — выбор тренера.