mvtForms

Удобное управление всеми формами на сайте, формы в контенте, заказ в 1 клик
Автор дополнения
Алексей Ш
Пакетов
1
Закачек
8
Автор дополнения
Пакетов
1
Закачек
8
Версия 1.1.4-beta
Дата выпуска 06.11.2017
Загрузки 8
Просмотры 428
Внимание, этот компонент требует версию PHP 5.6 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Компонент предназначен для простого управления всеми формами на сайте, в том числе без доступа к элементам MODX.
Особенно удобен, если на вашем сайте используются множественные формы захвата посетителей, например «Получить скидку на этот товар сейчас», «Записаться на приём», «Получить специальное предложение по акции». Вставка таких форм прямо в контент страниц не требует доступа к элементам и вёрстки формы, достаточно указать базовые параметры формы в приложении и поставить вызов в нужное место контента.

Возможности:

  • Любое количество форм с уникальными идентификаторами и включением метрик Яндекс.Метрика и Google Analitics.
  • Простая установка формы в любое место на сайте в т.ч. прямо в контент страницы
  • Аттач файлов с контролем по типу, размеру и количеству.
  • Заказ в 1 клик со страниц раздела каталога, товара и из корзины (для Minishop2)
  • Логгирование всех отправленных форм с присоединением гео-данных


Вставка формы
сниппетом в шаблоне/чанке:
MODX parser: [[mvtForms?&form=`callback`]]
fenom: {'mvtForms' | snippet : ['form'=>'callback']} , где form - Идентификатор нужной формы
специальной строкой в контенте:
⁄form:[идентификатор формы]⁄ , например: ⁄form:callback⁄


Принцип работы
Все формы хранятся и настраиваются в приложении mvtForms.



Настройка формы

Код формы: Уникальный идентификатор формы. Используйте только латиницу, числа, знаки «-, _»
Тип: Тип формы. Указывает, как нужно работать форме. Во всех случаях, где не нужно создание заказа MS2 — указывайте «Обычная форма»
Адреса: Адрес или список адресов на которые нужно отправить форму, через запятую.
Чанк формы: Чанк, который используется для данной формы. Можно (и нужно!) создать несколько типовых чанков и использовать их затем для включения различных форм. Необходимо указать системную настройку «Разрешённые чанки форм» или «Разрешённые категории чанков форм», см. далее раздел «Настройка».
Название/Тема: письма Заголовок формы.
Поля формы: Список полей формы (идентификатор: название), которые будут обработаны. Например: name: Имя,phone: Телефон,email:E-mail.
Обязательные поля: Список идентификаторов обязательных обязательных полей. Например: name,email,phone.
Событие Yandex: Идентификатор события Яндекс.Метрика.
Событие Google: Идентификатор события Google.Analitics.
Уведомить отправителя: Если указано «Да», то при успешной отправке формы, отправитель получит уведомление. Чанк шаблона уведомления: tpl.mvtForms.message.user.
Редирект на ресурс: Укажите id ресурса, если хотите переадресовать пользователя на другую страницу после отправки формы. Например для формы типа «Заказ в 1 клик со страницы корзины».
Успешно: Сообщение при успешной отправке формы.
Ошибка: Сообщение при ошибке.
Описание: Описание формы.

Работа с чанками
Рекомендуется использовать чанки, идущие в комплекте (bootstrap,fenom). Они максимально просты и на их основе вы можете создавать любое количество своих чанков.

Обратите внимание:
Переменная {$formID} (Идентификатор формы): если вы не используете fenom, замените на [[+formID]].
Аналогично с остальными переменными.

Все элементы с идентификаторами и классами mvtForms* используются для нормальной работы компонента, не удаляйте и не изменяйте их. Исключения: поля, которые в данной форме не используются.

Обязательно указывайте поле «Описание» для чанков — оно используется при выборе чанка для формы.

Системное событие
Компонент добавляет одно системное событие
MvtFormsOnFormSubmit
Выполняется после успешной отправки формы, можно использовать раскомментировав соответствующий участок кода в плагине mvtForms или включив в своём плагине:
case 'MvtFormsOnFormSubmit':
        $modx->log(1,'MvtFormsOnFormSubmit');
    break;

Настройка
Системные настройки


Префикс номера заказа, корзина: Если не пусто, то заказы, созданные при помощи компонента из корзины будут иметь указанный префикс.
Префикс номера заказа, товар: Если не пусто, то заказы, созданные при помощи компонента со страницы товара или из раздела будут иметь указанный префикс.
Включить лог: Если разрешено, mvtForms будет писать лог всех отправленных форм с геоданными отправителя.
DADATA token: Токен сервиса dadata.ru. Определение города по IP бесплатно в рамках лимита см. ссылку.
Путь до файла SxGeoCity.dat: Указывать от корневой директории. По-умолчанию = «assets/components/mvtforms/SxGeoCity.dat».
Необходим для определения местоположения отправителя, если не подключён сервис dadata.ru. В состав компонента не включён, т.к. не обязателен и создаёт лишний вес. Dadata надёжнее, sxGeo нужно иногда обновлять, зато безлимитно. Скачать можно отсюда: https://sypexgeo.net/files/SxGeoCity_utf8.zip
Разрешённые чанки форм: Для того, чтобы при выборе форм не показывались не нужные чанки, вы можете ограничить список чанков.
Укажите здесь перечень id нужных чанков через запятую. Особенно актуально при использовании фронтенд-менеджером, чтобы он смог использовать только строго отведённые чанки.
Разрешённые категории чанков форм: То же самое, но для категорий. Можно оставить параметр «Разрешённые чанки форм» путым, и указать здесь перечень нужных id категорий через запятую. Начиная с версии 1.1.3 при установке автоматически устанавливается = категории MvtForms.
Разрешённые к отправке типы файлов: Список разрешённых для обработки типов файлов.
Отправлять содержимое корзины Minishop: Если указано «Да», то вместе с данными формы будет отправлена информация о составе корзины отправителя.
Чанк письма: Чанк шаблона письма.
Чанк письма отправителю: Чанк шаблона письма уведомления. Если для формы указано «Уведомить отправителя», то отправителю формы будет отправлено уведомление с использованием данного чанка.
Идентификатор счётчика Yandex.Метрика: Для срабатывания события Яндекс.Метрика, укажите здесь номер счётчика. На сайте должен быть установлен скрипт Яндекс.Метрика.

JS
Компонент использует один js-файл: mvt.min.js. Он содержит функционал обработки форм + inputmask для поля телефона + multifile для прикрепления файлов.
Исходные js-файлы доступны в assets/components/mvtforms/js/web/. При необходимости вы можете изменить логику обработчика, состав дополнительных скриптов и собрать свой файл mvt.min.js.

Настройка multifile
Настройка multifile — в соответствии с документацией.

Больше информации и примеры использования смотрите на демо-сайте.

Обновление до версии 1.1.4-beta
Удобство использования:
  • При установке / обновлении компонента можно установить все 5 примеров форм
  • При первой установке автоматически назначается параметр «Разрешённые категории чанков форм»
Теперь чтобы сразу начать работать не нужно будет лезть в настройки.
Подробно здесь и здесь.

Добавлен функционал:
  • Возможность сохранения всех данных форм с присоединением к ним данных по географическому местоположению отправителя.
Подробнее:
За включение логгирования отвечает параметр «Включить лог» в системных настройках. При включении дополнение будет писать следующие данные: название формы, дата и время отправки, данные формы (json), данные геотаргетинга (json).
Месторасположение может определяться 2 способами: dadata.ru api (бесплатно до 10000 запросов в сутки, требуется получить ключ api) или sxGeo (требуется загрузить на сервер файл и иногда его обновлять).
Смотрите документацию.

Обсуждение в modx.pro.

1.1.0-beta

  • First relis

1.1.1-beta

  • Added field validation

1.1.2-beta

  • Correcting сhunks

1.1.3-beta

  • Add minishop2 event: msOnCreateOrder
  • Add minishop2 create OrderAddress
  • Add demo forms records
  • Automatic setting of the "mvtforms_allowed_chunks_category" setting when the package is first installed

1.1.4-beta

  • Added logging with geo-data
  • Fixed error var yaCounter in files default.js/mvt.min.js

Последние обсуждения в сообществе MODX.pro