[CallBack] Обратный звонок
Раз из раза приходилось настраивать одно и то же решение для вывода формы обратного звонка, и мне это надоело. Поэтому создал данный компонент на основе этого решения. А решение такое: на сайте каким-либо образом выводится ссылка «Обратный звонок», по нажатию на которую выводится модальная форма. В этой форме пользователь может указать свой номер телефона и как к нему обратиться при звонке. Такой нехитрый, но полезный прием для повышения конверсии сайта.
Как работает компонент:
При установке он подтягивает компоненты AjaxForm и FormIt, с помощью которых, собственно, происходит вывод и обработка формы, хотя они теоретически могут быть заменены с помощью параметров &wrapperSnippet и &snippet соответственно. Все параметры по умолчанию настроены так, чтобы при установке и простом вызове сниппета [[callBack]] получить рабочий обратный звонок.
По умолчанию используется оформление и модальные окна из Bootstrap, а так же jQuery Mask Plugin для указания маски ввода телефона.
При успешной отправке формы пользователю в том же модальном окне выводится сообщение об успехе, а администратору на указанную почту приходит письмо.
Еще одна фишка — это ведение журнала заявок на обратный звонок. Он предоставляет возможность поиска по имени и телефону клиентов, оставить комментарий к заявке и выводит все дополнительные поля (небольшая фишечка — добавьте лексикон вида callback_item_имяполя, чтобы вместо, например, поля city выводило Город). Сам лог запускается с помощью хука callBackLog для FormIt, т.е. его можно использовать и отдельно от компонента для других форм.
Документация к компоненту на docs.modx.pro.
А сам компонент доступен в репозитории modstore.pro.
Внимание! Компонент разрабатывается под MODX 2.3 и выше. Он должен работать и в более старых версиях, но с деградацией внешнего вида в части админки. Для вывода стандартных чанков, идущих с компонентом, рекомендуется либо совсем не подключать jQuery на странице (AjaxForm сделает это сам), либо использовать версию не ниже 1.9.0 — т.к. иначе Bootstrap будет ругаться на старую версию.
Считаю, основную задачу — максимально быстрая настройка рабочего решения обратного звонка — компонент выполняет на 100%. Пожелания и предложения по развитию компонента принимаются здесь или на странице компонента в репозитории. Пока рабочие идеи — вынесение настройки почты на страницу компонента, чтобы менеджеру не надо было лезть в системные настройки менять emailsender или параметр сниппета &emailTo. А так же можно будет отметить заявки в журнале как важные, чтобы они выводились выше других.
Как работает компонент:
При установке он подтягивает компоненты AjaxForm и FormIt, с помощью которых, собственно, происходит вывод и обработка формы, хотя они теоретически могут быть заменены с помощью параметров &wrapperSnippet и &snippet соответственно. Все параметры по умолчанию настроены так, чтобы при установке и простом вызове сниппета [[callBack]] получить рабочий обратный звонок.
По умолчанию используется оформление и модальные окна из Bootstrap, а так же jQuery Mask Plugin для указания маски ввода телефона.
При успешной отправке формы пользователю в том же модальном окне выводится сообщение об успехе, а администратору на указанную почту приходит письмо.
Еще одна фишка — это ведение журнала заявок на обратный звонок. Он предоставляет возможность поиска по имени и телефону клиентов, оставить комментарий к заявке и выводит все дополнительные поля (небольшая фишечка — добавьте лексикон вида callback_item_имяполя, чтобы вместо, например, поля city выводило Город). Сам лог запускается с помощью хука callBackLog для FormIt, т.е. его можно использовать и отдельно от компонента для других форм.
Документация к компоненту на docs.modx.pro.
А сам компонент доступен в репозитории modstore.pro.
Внимание! Компонент разрабатывается под MODX 2.3 и выше. Он должен работать и в более старых версиях, но с деградацией внешнего вида в части админки. Для вывода стандартных чанков, идущих с компонентом, рекомендуется либо совсем не подключать jQuery на странице (AjaxForm сделает это сам), либо использовать версию не ниже 1.9.0 — т.к. иначе Bootstrap будет ругаться на старую версию.
Считаю, основную задачу — максимально быстрая настройка рабочего решения обратного звонка — компонент выполняет на 100%. Пожелания и предложения по развитию компонента принимаются здесь или на странице компонента в репозитории. Пока рабочие идеи — вынесение настройки почты на страницу компонента, чтобы менеджеру не надо было лезть в системные настройки менять emailsender или параметр сниппета &emailTo. А так же можно будет отметить заявки в журнале как важные, чтобы они выводились выше других.
Комментарии: 49
Круто) в админке сохраняются!)
Если планируется расширение функционала, то, есть несколько идей, касаемо улучшений по работе с лидами.
1) Добавить статусы: Новые, В работе, Выполнены, Отказы
2) Экспорт заказов
3) Добавление лида из админки
4) Возможность назначить менеджера к заявке (из зарег. пользователей опр. группы)
Вообщем, на реализацию всего этого не рассчитываю, но перспективы у компонента есть весьма не плохие!
1) Добавить статусы: Новые, В работе, Выполнены, Отказы
2) Экспорт заказов
3) Добавление лида из админки
4) Возможность назначить менеджера к заявке (из зарег. пользователей опр. группы)
Вообщем, на реализацию всего этого не рассчитываю, но перспективы у компонента есть весьма не плохие!
ведение журнала заявок на обратный звонок— вот это вообще здорово!
Email уведомления предусмотрены (для менеджеров или кто там этим планирует заниматься)?
В целом прикольная штуковина, сейчас сторонние виджеты использует народ с фишкой, перезвоним за 30 секунд и т.п., ну там система дозвона еще есть, но не суть)
В целом прикольная штуковина, сейчас сторонние виджеты использует народ с фишкой, перезвоним за 30 секунд и т.п., ну там система дозвона еще есть, но не суть)
Я обычно делаю простую форму, которая через sms.ru отправляет смс-сообщение с номером телефона клиенту (до 5 в день бесплатно).
Удобная вещь!
И сохранение в базу тоже можно прикрутить)
И сохранение в базу тоже можно прикрутить)
А на гитхабе есть?
Используем бесплатный модуль обратного звонка от consultant-web.ru/callme/
есть интереснее =)
Компонент доступен в репозитории за 490 рублей.
Регулярно покупаю расширения в репозитарии modstore.pro/ и www.modmore.com/ (несколько десятков покупок). В основном это ms2Gallery и расширения для магазина. Очень уважаю труд разработчиков.
Потому, без обид, просто соображение по теме стоимости вашего расширения, в котором львиная доля функционала от бесплатных AjaxForm и FormIt, — ДОРОГО.
PS Но сейчас же куплю, вам на удачу))) Не принимайте замечание как негатив!
Потому, без обид, просто соображение по теме стоимости вашего расширения, в котором львиная доля функционала от бесплатных AjaxForm и FormIt, — ДОРОГО.
PS Но сейчас же куплю, вам на удачу))) Не принимайте замечание как негатив!
Соглашусь. Покупаю для каждого проекта по несколько дополнений. Это дополнение понравилось, но 490 р. — дорого. Не потому, что денег нет, просто то же самое может сваять даже такой профан, как я. Благо, Василий показал, как работать с кастомизацией админки. А все остальное — бесплатные jQuery плагины и дополнения MODx.
Спасибо за дополнение. Буду собирать с гитхаба. :)
Спасибо за дополнение. Буду собирать с гитхаба. :)
Как идея для развития — удобная настройка целей Яндекс Метрики. Добавил id и цель готова.
Привет, отличный компонент. Я делала для сайтов похожий на основе callback hunter
yadi.sk/d/uFk_H4opeVjET — скачать тут
картинки)
НА сайте висит такая кнопка:
Потом появляется такая картинка:
И менеджеру уходит SMS на телефон)
Настройки в админке:
yadi.sk/d/uFk_H4opeVjET — скачать тут
картинки)
НА сайте висит такая кнопка:
Потом появляется такая картинка:
И менеджеру уходит SMS на телефон)
Настройки в админке:
Яна, Вам интересно доработать функционал, чтобы происходило именно телефонное соединение менеджера с клиентом?
К сожалению, думаю моих знаний на такое не хватит
Напишите в скайп whiteflag.ru
У них же просто встраивается .js файл на сайт, и все? зачем компонент, поясните плиз…
Это компонент свой, а то платный
а возможность отправки контактов на почту можно сделать?
я думаю можно все ) если исходники расковырять
Не надо там ничего ковырять. Это же надстройка над AjaxForm, который в свою очередь надстройка над FormIt у которого есть хук email.
А данный плагин можно использовать, если форма вызывается не в модальном окне, а расположена прямо на странице сайта?
Хочу приспособить плагин для сбора вопросов с сайта.
Хочу приспособить плагин для сбора вопросов с сайта.
Конечно, нужно просто убрать модальное окно в чанке tpl.callBack.form, а tpl.callBack.item оставить пустым.
Думаю да, но проще былобы банальный FormIt использовать. Вероятность глюков меньше) тут все таки ajax
Компонент обновлен в репозитории modstore.pro:
1.0.0-pl2
==============
— Фикс бага с созданием записи в логе
1.0.0-pl2
==============
— Фикс бага с созданием записи в логе
Добрый день!
Небольшое пожелание по части функционала: добавить возможность исключения определенных полей из колонки Данные. У меня в форме есть несколько скрытых полей (input type=«hidden») и они туда попадают, хотя не нужны совсем.
Небольшое пожелание по части функционала: добавить возможность исключения определенных полей из колонки Данные. У меня в форме есть несколько скрытых полей (input type=«hidden») и они туда попадают, хотя не нужны совсем.
очень классный функционал в callbackhutner — специальный скрипт смотрит за поведенчискими факторами посетителя сайта, и если это потенциальный клиент, то показывает окно автоматом. («остались вопросы? мы вам перезвоним за 8 сек.»). Актуальный функционал для вашего компонента "[CallBack] Обратный звонок")
извини, но их реализация какая то навязчивая), очень, навязчивая.
Виталий, подскажите, при выводе формы ей присваивается класс callback_ajax_form
И он прописывается с пробелом перед ним, вот так class=" callback_ajax_form"
Вроде мелочь, а валидатор ругается.
Как это исправить?
И ещё вопрос:
Насколько я понимаю, вот этот код
И он прописывается с пробелом перед ним, вот так class=" callback_ajax_form"
Вроде мелочь, а валидатор ругается.
Как это исправить?
И ещё вопрос:
Насколько я понимаю, вот этот код
$modx->regClientScript(preg_replace(array('/^\n/', '/\t{7}/'), '', '
<script type="text/javascript">
if(typeof jQuery == "undefined") {
document.write("<script src=\"//code.jquery.com/jquery-1.11.2.min.js\" type=\"text/javascript\"><\/script>");
}
</script>
'), true);
подтягивает Jquery при условии если он не подключен. Если Jquery подключен, то его можно удалить?
Вероятно пробел ставит AjaxForm. Код можно удалить.
Купил модуль все нравится. Единственно, хотелось бы узнать, как настроить цели в google analytics для этого модуля. Сталкивался кто-нибудь с такой задачей?
Приобрёл модуль. Созрел вопрос. У меня после нажатия кнопки «Заказать звонок» не появляется сообщения, что заявка отправлена и мы свяжемся с вами… Окно просто закрывается и всё, форма при этом отправляется на указанный email. Если вообще ничего не вводить, а просто нажать кнопку, то окно закрывается и всё (форма не отправляется). Как сделать, чтобы форма говорила «Спасибо..» после отправки и ругалась на незаполненные поля?
В документации модуля ответов не нашёл.
В документации модуля ответов не нашёл.
Разобрался. Bootstrap.min.js и JQuery.js у меня подключались внизу страницы, поставил их в тег Head и всё заработало как надо.
Перестали заказы звонков сохранятся в базу
Заказ на фронт проходит, вроде все четко, но в админке пусто
Кто сталкивался? Помогите разобраться
Выскакивало пару раз это
Заказ на фронт проходит, вроде все четко, но в админке пусто
Кто сталкивался? Помогите разобраться
Выскакивало пару раз это
Could not find action file at: controllers/default/index.php
Какие-то изменения на сервере были?
Данный плагин можно использовать не только для звонка, но и письма и любых других форм?
Форму я как понимаю могу доделать любую, но скорее всего она же не будет сохранять в базу другие поля?
Форму я как понимаю могу доделать любую, но скорее всего она же не будет сохранять в базу другие поля?
Форма может быть любая. По умолчанию в лог пишутся все поля формы, кроме указанных в &ignoreFields.
Я снял опцию «Обратный звонок» после того, как идиоты стали разыгрывать своих друзей, заказывая на их телефоны звонки с моего сайта.
Возможно ли с помощью этого компонента распечатывать список оставленных заявок?
Подскажите а как можно сделать сообщение об удачной отправке. Вво номера сделал не чрез модалное окно а прям на сайте, в идеале хотелось бы вывести сообщение вместо поля ввода.
Вызываю так:
Вызываю так:
[[!callBack?
&tpl=``
]]
<form role="form" method="POST" action="[[~[[*id]]]]" class="">
<div class="input-group">
<input type="text" class="form-control fl-l" id="name" name="name" value="[[!+fi.name]]" placeholder="Ваше имя:" style="border-right: 0">
<span class="error error_name">[[+fi.error.name]]</span>
<span class="input-group-btn" style="width:0px;"></span>
<input type="text" class="form-control" id="phone" name="phone" value="[[!+fi.phone]]" data-mask="+0(000)000-00-00" placeholder="Номер телефона:">
<span class="error error_phone">[[+fi.error.phone]]</span>
<span class="input-group-btn">
<button class="btn btn-default" type="submit" >
<i class="glyphicon glyphicon-send"></i>
</button>
<button type="button" class="callback-close btn btn-success center-block hidden" data-dismiss="modal" aria-hidden="true">[[%callback.close]]</button>
</span>
</div><!-- /input-group -->
</form>
При установке выдает ошибку
Консоль
Консоль запущена…
Пробуем установить пакет с подписью: callback-1.1.0-pl
Пакет найден… сейчас идёт подготовка к его установке.
Загрузка рабочего пространства пакета…
Рабочее пространство загружено, сейчас устанавливаем пакет…
Trying to install FormIt. Please wait…
Error 23000 executing statement: INSERT INTO `modx_transport_packages` (`signature`, `created`, `state`, `workspace`, `provider`, `disabled`, `source`, `package_name`, `version_major`, `version_minor`, `version_patch`, `release`, `release_index`) VALUES ('formit-3.0.2-pl', '2017-08-23 12:55:21', 1, 1, 1, 0, 'formit-3.0.2-pl.transport.zip', 'FormIt', 3, 0, 2, 'pl', 0) Array ( [0] => 23000 [1] => 1062 [2] => Duplicate entry 'formit-3.0.2-pl' for key 'PRIMARY' )
Could not save package FormIt
Trying to install AjaxForm. Please wait…
Загрузка рабочего пространства пакета…
Рабочее пространство загружено, сейчас устанавливаем пакет…
AjaxForm was successfully installed
PHP notice: Undefined index: package_action
Успешно установлен пакет callback-1.1.0-pl
Консоль
Консоль запущена…
Пробуем установить пакет с подписью: callback-1.1.0-pl
Пакет найден… сейчас идёт подготовка к его установке.
Загрузка рабочего пространства пакета…
Рабочее пространство загружено, сейчас устанавливаем пакет…
Trying to install FormIt. Please wait…
Error 23000 executing statement: INSERT INTO `modx_transport_packages` (`signature`, `created`, `state`, `workspace`, `provider`, `disabled`, `source`, `package_name`, `version_major`, `version_minor`, `version_patch`, `release`, `release_index`) VALUES ('formit-3.0.2-pl', '2017-08-23 12:55:21', 1, 1, 1, 0, 'formit-3.0.2-pl.transport.zip', 'FormIt', 3, 0, 2, 'pl', 0) Array ( [0] => 23000 [1] => 1062 [2] => Duplicate entry 'formit-3.0.2-pl' for key 'PRIMARY' )
Could not save package FormIt
Trying to install AjaxForm. Please wait…
Загрузка рабочего пространства пакета…
Рабочее пространство загружено, сейчас устанавливаем пакет…
AjaxForm was successfully installed
PHP notice: Undefined index: package_action
Успешно установлен пакет callback-1.1.0-pl
Ответил на почту
У меня на странице 4 формы, получается для каждой формы мне нужно создавать чанк или можно указать селекторы этих форм для их обработки?
&target — Идентификатор для связи кнопки с формой. По умолчанию — callBackModal
ну, а если форма не всплывающая?
Доброго времени суток! Вывожу форму отправки прям на странице сайта. Как можно реализовать сообщение об успешной отправке вместо самой формы? т.е див с формой чтоб заменился дивом с сообщением?
Привет. Перед покупкой этого компонента решил потестить его. Создал на modstore тестовый сайт. Загрузил компонент. Форма на сайте данные отправляет, но они не появляются в панеле управления. Журнал ошибок пуст. В чем может быть дело?
Для настройки рекапчи мне нужно добавить хук recaptchav3. Где его вставлять, в вызов CallBack или какой-то особенный способ?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.