Проведение акций на сайте с механизмом автовыбора победителя

Модуль и компоненты работает с использованием технологий D7 и требуют наличия установленного модуля Highload блоков(не ниже версии 14.5.1).

Технические детали

В момент установки модуля на сайте создаётся 3 Highload блока:

  • OlegproOrderWinnersGroupRequests — группы акций. По умолчанию создаётся группа с названием «Акция 1»;
  • OlegproOrderWinnersRequests — заявки(анкеты) пользователей. Можно задавать любые поля. Есть свойство-привязка к highload блоку групп акций;
  • OlegproOrderWinnersWinners — победители. Есть свойство-привязка к highload блоку анкет.

Настройки модуля

На текущий момент в настройках модуля всего 3 опции: - Модуль активен. Если отключить флаг, то удалится агент, который выбирает победителей; - Период выявления победителей, в часах; - Дата начала выявления победителей. Если вписать сюда дату, то агент пересоздатся с именно этой датой первого запуска.

Компоненты

  • olegpro:orderswinners.request.add — выводит форму добавления заявки. Форма строится и валидируется на основе полей Highload блока(валидируется самим ORM D7). В настройках компонента необходимо указать ID Highload блока заявок и группы заявок.
  • olegpro:orderswinners.winners — выводит таблицу победителей. В настройках компонента необходимо указать ID Highload блока победителей и группы заявок.

Так же при установке модуля копируется шаблон export_xml для компонента bitrix:higloadblock.list. Он позволяет выводить записи highload блока в xml. C его помощью я выгружал список победителей для 1С.