
Друзья, рад представить вам свою новую разработку – модуль, реализующий всплывающую и встраиваемую форму обратной связи на сайте.
Модуль распространяется бесплатно. Он прост в установке и настройке. Теперь вы можете получить отличную контактную форму на сайте всего в несколько кликов.
Wedal Joomla Callback воплощает многие идеи, которые были у меня в голове, но не могли быть сформулированы в коде. Читайте описание. Думаю, что вам понравится!
>>> Вы можете скачать модуль по этой ссылке
Содержание
- Зачем нужен еще один модуль обратной связи?
- Особенности Wedal Joomla Callback
- 1. Только модуль и ничего кроме модуля
- 2. Модуль работает полностью на AJAX
- 3. На странице может быть неограниченное количество разных форм с разным оформлением и только один JS и один CSS файл
- 4. Каждая форма, кнопка, письмо могут иметь уникальную структуру и оформление
- 5. Защита от спама и CSRF-атак
- 6. Простота
- 7. Всплывающая или встраеваемая в страницу форма (v 1.1.1)
- 8. Блок "Политика обработки персональных данных" (v 1.1.2)
- 9. Маска ввода номера телефона, которую можно задать самостоятельно в настройках (v 1.2.0)
- Настройки Wedal Joomla Callback
- Распространение модуля Wedal Joomla Callback
- Wedal Joomla Callback 2
- Скачать Wedal Joomla Callback
- Полезные кейсы по модулю
- Список изменений
Зачем нужен еще один модуль обратной связи?
Думаю, что первый вопрос, который вы зададите: зачем нужен еще один модуль обратной связи? Ведь помимо стандартной формы обратной связи Joomla есть уже готовые решения.
Дело в том, что в процессе работы над разными клиентскими сайтами мне постоянно требовался простой и легкий модуль обратной связи, который бы работал через AJAX. Главной целью была простота кастомизации под требования заказчика.
Раньше я использовал свои готовые наработки контактных форм, но их постоянное развертывание и настройка отнимало много времени.
Wedal Joomla Callback я делал в первую очередь для себя, для удобства работы. Но решил, что будет здорово поделиться модулем с сообществом.
Особенности Wedal Joomla Callback
В чем особенность данного модуля?
1. Только модуль и ничего кроме модуля
Форма обратной связи реализована с помощью одного модуля. Нет никаких дополнительных компонентов, плагинов и др.
2. Модуль работает полностью на AJAX
Он не загружается вместе со страницей. Загружается только кнопка вызова формы с таким кодом:
<div id="WJC102" data-id="102" class="wjcallback ">
<a class="wjcallback-link" href="#">Заказать</a>
</div>
Никакого утяжеления страницы скрытыми формами. В коде вызова вообще не фигурирует ссылка на форму или код формы, что не позволит увидеть форму большинству роботов, рассылающих спам.
При клике по кнопке форма подгружается в реальном времени.
После отправки формы страница не перезагружается.
В Joomla это похоже на магию. Кто в теме, тот поймет =)
3. На странице может быть неограниченное количество разных форм с разным оформлением и только один JS и один CSS файл
Вы можете создать несколько копий модуля на одной странице с разными настройками. И да, они будут работать. При этом все формы будет обрабатывать общий JS-файл, который загрузится в единственном экземпляре.
Почему это круто? Теперь вы можете добавить пару контактных форм в шапке сайта, несколько в тексте, и еще одну в подвале с помощью одного единственного модуля, размноженного в админке. Это практически не утяжелит страницу (см. пункт выше). Это не потребует кучи скриптов.
4. Каждая форма, кнопка, письмо могут иметь уникальную структуру и оформление
Wedal Joomla Callback поддерживает альтернативные макеты для:
- Кнопки запроса
- Формы
- Письма с запросом
Да, всего один модуль и неограниченное количество разных форм.
5. Защита от спама и CSRF-атак
Специальной защиты от спама не предусмотрено, но форму смогут увидеть только те роботы, которые умеют выполнять JS-код и додумаются кликнуть по пустой ссылке. Если вы и получите спам, то мало и редко, в основном ручной человеческий. Зато ваши пользователи не будут утруждать себя разгадыванием кода с картинки, чтобы связаться с вами.
Кроме того, в модуле внедрена проверка токена, которая не позволит совершать CSRF-атаки.
6. Простота
Еще одной особенностью я бы назвал простоту модуля. Он не позволяет создавать неограниченный набор уникальных полей, зато в макетах вы сразу видите каждое отдельное поле, и способны быстро влиять на его обработчик. Это позволит легко дополнить модуль необходимым уникальным функционалом и подстроить под задачу.
7. Всплывающая или встраеваемая в страницу форма (v 1.1.1)
В обновленной версии модуля 1.1.1 добавлена возможность показывать не только всплывающую форму, но и встраивать форму в страницу сайта. На одной странице может быть несколько всплывающих форм и несколько встроенных. И всё это будет работать!
8. Блок "Политика обработки персональных данных" (v 1.1.2)
В версии 1.1.2 добавлена возможность включать в форму обратной связи сообщение или чекбокс, подтверждающие согласие пользователя с политикой обработки персональных данных. Материал для ссылки на политику также можно выбрать в настройках модуля:
9. Маска ввода номера телефона, которую можно задать самостоятельно в настройках (v 1.2.0)
В версии 1.2.0 добавлена опционально подключаемая маска для ввода номера телефона в соответствующем поле. В настройках модуля вы можете задать маску самостоятельно.
Если на странице выводится несколько модулей, маски в каждом из них могут отличаться.
Настройки Wedal Joomla Callback
Все настройки Wedal Joomla Callback вы можете видеть на рисунке:
Они очень простые и не требуют дополнительных пояснений. При желании, вы можете вообще ничего не настраивать, а только установить и опубликовать модуль. После этого он уже будет работать.
Как я писал выше, вы можете создать несколько копий модуля в админке и задать для них разные настройки, а вывести на одной странице. Это тоже будет работать.
Несколько модулей на одной странице:
И конечно, вы можете вставить один или несколько модулей обратной связи в любую статью, и это тоже будет работать!
Распространение модуля Wedal Joomla Callback
Модуль всплывающей формы обратной связи Wedal Joomla Callback распространяется по лицензии GPL. Это означает, что вы можете бесплатно скачивать и использовать его на любых сайтах.
В модуле нет скрытых ссылок и прочих «радостей» пиратского софта. Код модуля полностью открыт, и вы можете сами посмотреть его.
Wedal Joomla Callback 2
Выпущена новая версия модул: Wedal Joomla Callback 2 для Joomla 4. Эта версия содержит множество новых функций, таких как дополнительные поля, поддержка вложений, цели Яндекс.Метрики и другое.
Подробное описание новых возможностей Wedal Joomla Callback 2 вы найдете в статье: Wedal Joomla Callback 2 – новая версия модуля обратной связи для Joomla 4+
Скачать Wedal Joomla Callback
Wedal Joomla Callback имеет свой репозиторий на Github и поддерживает обновления прямо оттуда.
Скачать Wedal Joomla Callback 2 для Joomla 4+
Скачать Wedal Joomla Callback 1.x для Joomla 3
Надеюсь, что данный модуль окажется полезным для вас и ваших проектов.
За отдельную плату у меня вы можете заказать любые доработки, улучшения и изменения данного модуля, обратившись через форму обратной связи.
Полезные кейсы по модулю
Список изменений
v1.1.1
- Добавлена возможность использовать модуль как всплывающую или встроенную форму.
v1.1.2
- Добавлена возможность включать в форму обратной связи сообщение или чекбокс, подтверждающие согласие пользователя с политикой обработки персональных данных
v1.1.4
- Исправлена ошибка, связанная с привязкой модуля только к некоторым пунктам меню
Внимание! В версии 1.1.4 исправлена ошибка, связанная с привязкой модуля только к некоторым пунктам меню. В это версии были частично изменены макеты вывода форм. Если вы использовали модуль верси 1.1.3 или ниже с переопределенными в шаблон макетами, пожалуйста, актуализируйте их, сравнив с оригинальными (список изменений можно посмотреть здесь).
v1.2.0
- Добавлена опциональная маска ввода номера телефона
- В письме теперь показан URL страницы, с которой отправлена форма
- Исправлена проблема неверного адреса электронной почты, который подставлялся в поле отправителя при прямом ответе на письмо с сайта
- Исправлена проблема зависания формы при включенном отображении ошибок в настройках Joomla
v2.0.0 (Joomla 4+)
- Поддержка Joomla 4+ и отказ от поддержки Joomla 3
- Добавлена поддержка неограниченного количества дополнительных полей разных типов, через Joomla XML Fields
- Добавлена возможность переопределения базовых полей
- Добавлена поддержка вложений
- Добавлена поддержка целей Яндекс.Метрики
- Код кнопки вызова формы максимально упрощен для использования в любом месте страницы
- Добавлены дополнительные возможности оформления модуля
- jQuery больше не требуется
- Добавлены JS-триггеры для разных событий модуля
- Возможность указать несколько получателей письма
- Все поля теперь используют базовые макеты Joomla, наследуют стили шаблона, могут быть переопределены в шаблон
- Файлы стилей и скриптов модуля теперь доступны для переопределения
- Мелкие доработки и исправления
v2.0.1 (Joomla 4+)
- Исправлена ошибка, при которой форма не отправлялась при активной опции вложений с единственным файлом
v2.0.2 (Joomla 4+)
- Исправлена ошибка, при которой скрипты и стили загружались только для всплывающей формы
v2.0.3 (Joomla 4+)
- Исправлена ошибка отправки формы модуля, привязанного не ко всем страницам
- Исправлена ошибка при которой в форме не отображалось поле согласия с условиями без существования дополнительных полей. Добавлено базовое оформление для этого поля
- Добавлена настройка, позволяющая скрывать кнопку вызова всплывающей формы в модуле
v2.0.4 (Joomla 4+)
- Исправлена ошибка некорректного формирования ссылки на условия обслуживания
v2.1.0 (Joomla 4+, 5+)
Новые возможности:
- Добавлен функционал отправки сообщения через СМС
- Добавлен функционал отправки сообщений в Telegram
- Добавлен функционал создания вложений из настраиваемых полей типа file
Исправления и улучшения:
- Добавлена опция транслитерации символов при отправке СМС.
- Настраиваемые поля по умолчанию должны быть отключены
- Разрешить safehtml в поле "Вступительный текст"
- Добавлено имя формы в макет встроенной формы
- Убираем Warning'и для PHP 8.2+, возникающие при использовании динамических свойств.
- Loader вызывался раньше триггера wjcOnFormBeforeSubmit, что некорректно, к примеру, для дополнительной ручной валидации полей перед отправкой формы. Его вызов теперь после триггера.
- Убран класс btn, т.к. чаще мешает, чем помогает. При желании может быть добавлен в настройках модуля.
- Из-за переноса кавычки в J 5.0.1 не работают языковые файлы. Перенос убран.
Модуль, безусловно, прекрасен, но... согласно требованиям ФЗ-152 "О персональных данных" в форме обратной связи должен присутствовать, как минимум, чекбокс "Я ознакомился/ознакомилась с Политикой конфиденциальности", а как максимум, ещё следует добавить чекбокс "Я согласен/согласна на обработку моих персональных данных" и ссылка на "Пользовательское соглашение".
Без них, к сожалению, ваш модуль, станет для владельца сайта источником немаленьких штрафов со стороны Роскомнадзора, в чём я лично уже имею печальный опыт - 65 тыс. руб. в бесспорном и внесудебном порядке.
Если вы дополните свой модуль вышеуказанными чекбоксами и ссылкой, - поверьте, цены ему не будет, и я готов (думаю, и другие веб-мастера тоже) заплатить за него разумные деньги.
Удачи вам, Виталий!
Да, вы правы. Я постараюсь внести это дополнение в ближайшее время. Обновление придет автоматически для уже установленных модулей через стандартную систему обновлений Joomla.
Вообще, у меня двоякое отношение к этому закону. Почему? Я думаю, эти надписи негативно будут влиять на конверсию форм. Это нам с вами понятно, что ничего особенно не меняется, только добавляется уведомление. А простые люди, уже и так ужасно уставшие от бесконечных звонков и СМС-спама, могут истолковать такую приписку совершенно иначе. Что-то вроде "Отправляя форму, вы даете согласие на то, что мы будем надоедать вам звонками и присылать смс-ки по ночам". Если человек представит толкование надписи примерно в таком виде, то, вероятно, он просто закроет форму и уйдет с сайта.
Получается парадоксальная ситуация: в некоторых случаях малому бизнесу проще оформить домен на физическое лицо и платить штрафы по этому бессмысленному закону, чем подводить по него формы и снижать конверсию. Т.е. потери от снижения конверсии будут больше штрафов.
Конечно, я никого не призываю так делать. Просто для меня совершенно не понятен смысл этого закона. Кому надо - тот и так соберет все данных.
Юристы говорят, что даже если вы запрашиваете имя и адрес электронной почты, то это уже сбор персональных данных. И даже если они никуда не записываются, а просто приходят на email, то это ничего не меняет.
Я внесу возможность публикации предупреждения о сборе персональных данных отдельной опцией. А пока вы можете просто добавить ссылку в макет формы, предварительно переопределив его в шаблон Joomla.
Да, я с Вами полностью согласен о засилье в Сети дурацких законов - как, к примеру, я могу идентифицировать человека лишь по адресу Email - для меня, как для нормального человека до сих пор остаётся загадкой.
НО "благодаря" этому закону, пришлось регистрироваться в РКН как оператору ПД - а это идиотизм уже высшей категории, поскольку требования, предъявляемые к операторам, в частности, к физлицам, это просто нонсенс.
at HTMLAnchorElement. (wjcallback.js:11)
at HTMLDivElement.dispatch (jquery-3.3.1.slim.min.js:2)
at HTMLDivElement.v.handle (jquery-3.3.1.slim.min.js:2)"
Как исправить? Не подскажете?
Возможно ли добавлять свои поля в форму? Например, название организации...
https://wedal.ru/wedal-joomla-callback-cases/dobavlenie-lyubykh-dopolnitelnykh-polej-v-formu-obratnoj-svyazi-wedal-joomla-callback.html
1) Опубликовать модуль в какой-нибудь видимой позиции на сайте.
2) Скопировать html-код вызова модуля (3 строчки, вроде тех, которые показаны в статье)
3) Разместить код вызова модуля в PageBuilder
4) Перенести модуль в скрытую, но существующую позицию.
Но это в теории. На практике я не пробовал такой фокус.
А что мешает вам вывести модуль прямо в PageBuilder? Ведь он выведет только эти же 3 строчки кода.
Заказать
В чем может быть проблема?
Да, теперь такая возможность доступна прямо из коробки.
Что не правильно?
Джумла 3.9, установил модуль, опубликовал, появилась надпись (в настройках написал "Свяжитесь с нами", настроил поля) с линком.
При нажатии на линк открывается окно с надписью "Заказать обратный звонок" без полей для заполнения.
В индексном файле шаблона подключил jquery 3.3.1
Ощущение, что срабатывает что-то по умолчанию.
Сайт закрыт, но если нужно посмотреть - открою
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (wjcallback.css, line 0)
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (wjcallback.js, line 0)
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (wjcallback.js, line 0)
Что понравилось:
1) Нет капчи, которая всех бесит
2) сообщение после отправки появляется там же (а не вверху во всплывающем окне и не на другой странице)
Что не очень:
1) нет галочки про ФЗ 152
2) вместо тултипов, привязанных к полям, - инф. сообщения, которые появляются вверху (в гуглхроме по крайней мере)
3) нельзя выбрать неск емейл получателей (иногда это надо)
4) письма на gmail падают в спам
Из недостатков: всё по делу, кроме последнего. Письма в спам - это уже не от модуля зависит, а от настроек почты.
Остальное буду дорабатывать по мере возможности.
https://wedal.ru/wedal-joomla-callback-cases/dobavlenie-lyubykh-dopolnitelnykh-polej-v-formu-obratnoj-svyazi-wedal-joomla-callback.html
У меня сайт на Yootheme Pro (test.rem-parts.ru),
Установил Ваш модуль обратной связи и пробую вставить его через "вставку модуля":
{loadmoduleid 103}
Модальное окно появляется, а в нем ничего нет:
Единственное, заголовок белым шрифтом есть:
Подскажите, плиз, куда копать?
Не подгружаются поля для заполнения Имя, Телефон при вставке кода в «Модуль фрагмента HTML-кода»
Заказать
При нажатии просто открывается форма «Заказать обратный звонок» и кнопка «Отправить» без полей заполнения Имя, Телефон.
Решение было найдено.
1. Создаём обязательно Модуль Wedal Joomla Callback и опубликовываем его.
2. Создаём «Модуль фрагмента HTML-кода» и вставляем код:
Заказать
3. Меняем в этом коде id и data-id на выше созданный модуль
Например:
Заказать
на
Заказать
Как мы находим id и data-id. Например, при помощи браузера Firefox кликаем по странице с опубликованной кнопкой «Оьратного звонка» правой кнопкой мышки, затем «Исследовать элемент» и находим нужный нам код. Далее я думаю вы разберётесь ))
Автор если что подправите меня. Спасибо!
Во-первых Большое спасибо автору за бесплатный Модуль Wedal Joomla Callback он мне помог решить проблемку при создании сайта. Поэтому не поленился и написал решение по которому немного пришлось подумать ))
Не подгружаются поля для заполнения Имя, Телефон при вставке кода в «Модуль фрагмента HTML-кода»
При нажатии просто открывается форма «Заказать обратный звонок» и кнопка «Отправить» без полей заполнения Имя, Телефон.
Решение было найдено:
1. Создаём обязательно Модуль Wedal Joomla Callback и опубликовываем его.
2. Создаём «Модуль фрагмента HTML-кода» и вставляем код:
3. Меняем в этом коде id и data-id на выше созданный модуль
Например:
на
Как мы находим id и data-id. Например, при помощи браузера Firefox кликаем по странице с опубликованной кнопкой «Обратного звонка» правой кнопкой мышки, затем «Исследовать элемент» и находим нужный нам код. Далее я думаю вы разберётесь ))
Теперь по моему правильно )
Бесконечный прелодер скорее всего означает, что AJAX-запрос, после которого он появился, возвращает ошибку.
Вы можете посмотреть результаты запроса в консоли браузера. Там не будет ошибок, выделенных красным, но будет виден запрос (XHR). Если раскрыть его и посмотреть вкладку "Ответ" с включенным в Joomla отображением ошибок, вы должны увидеть там текст ошибки. Напишите его сюда и я помогу. Либо пришлите ссылку на живой сайт и я посмотрю сам.
Ну а насчет того, чем модуль лучше... Уже хотя бы тем, что не компонент. Легче, быстрее, проще.
Ну какая вам нужна инструкция по установке? Скачал, зашел в менеджер расширений, выбрал архив, всё само установилось. Также, как любое другое расширение Joomla.
Id и data-id нужны чтобы скрипт мог понять, какой именно модуль вызван. На странице может быть несколько экземпляров модуля с разными настройками, а скрипт один. Это и круто. Но без уникального идентификатора скрипт не поймет каким именно экземпляром воспользовался пользователь.
Если у вас модуль не работает, напишите мне, попросите помочь. Я еще никому не отказал в комментариях выше. Зачем писать такую ерунду? В Joomla может быть огромное количество конфигураций. Кто-то пользуется стандартными шаблонами, кто-то билдерами страниц. У кого-то изначально на странице есть ошибки JS, которые могут препятствовать правильной работе скриптов.
Напишите, что именно у вас не работает, или, еще лучше, дайте ссылку на живой пример. Я постараюсь помочь разобраться с проблемой.
При выборе поля для комментария без его обязательности, это поле не появляется на фронте вообще.
Во всплывающем окне при включении показа ошибок есть вот такое : Notice: Undefined variable: formtitle in /...../modules/mod_wedal_joomla_callback/tmpl/default_popupform.php on line 10
Стили у вас слетели при обновлении вероятно потому, что вы добавляли их в CSS-файл модуля. Этого делать нельзя, это хак. При обновлении все файлы модуля перезаписываются новыми и ваши изменения стираются. Правильно добавлять ваши CSS-стили в используемый шаблон Joomla, в один из его CSS-файлов. При этом стили всё равно будут применяться к модулю, но при его обновлении не потеряются.
копнул дальше-в строке $params = ModWedalJoomlaCallbackHelper::getParams($moduleId); получает id модуля верно,а вот дальше в строке $formfields = $params->get('formfields', ''); получает поля с 0 значением:
{ ["show"]=> string(0) "" ["req"]=> NULL } array(2) { ["show"]=> string(0) "" ["req"]=> NULL } array(2) { ["show"]=> string(0) "" ["req"]=> NULL } array(2) { ["show"]=> string(0) "" ["req"]=> NULL } array(4) { ["show"]=> string(0) "" ["toslink"]=> string(1) "#" ["toslinktext"]=> string(16) "Terms of service" ["toscheckbox"]=> string(0) "" }
хотя при этом вот параметры этого модуля в БД:
{"moduletype":"1","buttontext":"","email":"*********","mailtitle":"*********","showformtitle":"1","formtitle":"Still have questions?","formdesc":"Leave a request and we will call you back in 5 minutes","showname":"0","shownamereq":"1","showemail":"0","showemailreq":"0","showphone":"1","showphonereq":"1","showtextarea":"0","showtextareareq":"0","showtos":"0","toslinktext":"","toslink":"","toscheckbox":"0","thankyoutext":"*******","layout":"_:default","moduleclass_sfx":"","cache":"1","cache_time":"900","cachemode":"static","module_tag":"div","bootstrap_size":"0","header_tag":"h3","header_class":"","style":"0","module-intro":"","module-background":"","module-specical-title":"0","module-full-width":"0"}
Какая у вас версия Joomla?
Работает ли корректно всплывающая форма?
Также попробуйте отключить кэширование модуля, если у вас включено кэширование сайта в общих настройках.
версия 3.9.6
всплывающая работает без нареканий.
покопал дальше-нашёл что в методе getParams переменную moduleId получает с верным значением,а вот дальше в строке $params->loadString($module->params); не получает нужных параметров модуля,а получает вот что:
{ ["data":protected]=> object(stdClass)#494 (0) { } ["initialized":protected]=> bool(true) ["separator"]=> string(1) "." }
попытка раскоментировать строку $module = JModuleHelper::getModuleById($moduleId); вместо $module = ModWedalJoomlaCallbackHelper::getModuleById($moduleId); успеха не приносит для встроенной формы,но ещё и не выводит поля всплывающей.
$module = ModWedalJoomlaCallbackHelper::getModuleById($moduleId);
возвращает bool(false)
оказалось такая интересная ситуация:сайт у меня на 3-х языках.сразу оговорюсь,проблема одинакова для всех языков.
так вот,в каждом языке есть 3 модуля.один всплывающий,есть на всех страницах.второй встроенный,есть только на главной.третий встроенный,есть везде,КРОМЕ главной.
первый и третий работают,а вот второй-нет.и вот как-раз в выше упомянутом методе приходят один раз всплывающий модуль(всё верно),и ТРИ РАЗА встроенный модуль,но не тот что под номером 2,а тот что под номером 3,которого на главной вообще нет(и его действительно на странице нет).а вот модуль,который есть на этой странице-не приходит вообще.
если в админке отключить модуль 3,то только модуль 1 остаётся в списке(всплывающий),хотя физически на странице модуль есть.
Я даже не думал в этом ключе, когда делал модуль. Нужно будет внести правку, при которой как-то учитывать привязанные пункты меню при вызове через AJAX.
У вас же пока решение очень простое: сделайте привязку всех экземпляров модуля ко всем страницам и всё будет работать.
Если нужно скрыть модуль на всех страницах, кроме главной, задайте для него по умолчанию display: none; , а на главной переопределите через какой-нибудь уникальный класс на display:block;. Пока только так.
Вопрос есть: как сделать так чтобы при ответе на письмо подставлялся адрес посетителя? Сейчас при ответе если не обратить внимание письмо отправляется на адрес сайта
А можно по подробнее про это пожалуйста.
Подскажите где и что добавить, пожалуйста )
Установил модуль. После отправки появляется текст:
Invalid token. Похоже ваша сессия закончилась. Перезагрузите страницу и отправьте запрос повторно.
Кэш в общих настройках и плагин кеширования отключены. Как решить эту проблему?
Спасибо
там не домен второго уровня - сайт в сайте, такой адрес - сайт.ру/сайт2.ру
и вот на сайт2.ру стоит форма. Можно это как-то поправить? у заказчика жгучее желание не использовать капчу, а каких-то других безопасных форм с нужным функционалом я не нашел.
Скачала ваш плагин с формой обратной связи. Хочу спросить - встраивать его нужно в виде архива, как он скачался, или нужно куда-то распаковать? А прописанные команды с кнопкой вызова Формы обратной связи куда встроить можно? Или этот код нужно прописать какой-то кнопке?
Правда, для моего сайта необходимо передавать в письмо ещё и информацию о конкретном модуле Wedal Joomla Callback. На сайте для каждого специалиста свой модуль, а для менеджера необходимо сочетание информации URL-страницы и имя специалиста чей модуль был использован.
Для версии 1.1.4 сделал переопределения модуля, в частности, изменив файл default_message.php. Но с Вашей новой версией (1.2.0) решение стало изящным.
Спасибо за отличный модуль!
Есть вопрос, как можно запустить модуль через ссылку?
Я хочу добавить в меню кнопку "Заказать звонок", а в меню можно использовать только ссылки, этот код там некуда вставлять (id="WJC102" data-id="102")
По вашему вопросу:
Проще всего, на мой взгляд, вставить в меню пустую ссылку (ссылку с пустым href или равным "#" и добавить на нее JQuery-обработчик on click), который при срабатывании будет кликать на кнопку вызова модуля (сам модуль можно опубликовать в любой позиции и скрыть). Всё это звучит слегка сложно, но по факту:
https://nosir.github.io/cleave.js/. Там уже заложен выбор страны.
https://github.com/wedal/mod_wedal_joomla_callback/archive/master.zip
Телефон
Почта
Что вы хотите заказать:
- Окна
окна- Двери
окна- Ремонт балкона
окнаКомментарий
Виталий, такое возможно сделать, или это утяжелит код и вызов формы?
https://wedal.ru/wedal-joomla-callback-cases/dobavlenie-lyubykh-dopolnitelnykh-polej-v-formu-obratnoj-svyazi-wedal-joomla-callback.html
Вот если бы в модуле была бы возможность указания выбора современных мессенджеров для обратного звонка, то было бы вообще - СУПЕР !
Использует человек скажем Viber - ставит чекбокс "Viber" или выпадающий список, но тут не возможно выбрать несколько вариантов...
Wedal подумайте над этим - это добавит цены и веса Вашему модулю !
В будущем напишу подробную статью о том, как это делается.
Буду ждать подробного описания !
Молодец !
Спасибо !
Пару простых бы Шаблонов внешнего вида и цены не будет тебе !!!
И желательно чтобы Css свой тянул, а то поставил и все окно кривое :( что-то затянул под себя из шаблона
Но работает, без танцев с бубном !!!!
А также было бы супер если можно было привязывать всплывашку к любой ссылке )) тут было бы супе и можно уже за платно продавать;
Так как пару штрихов и вообще уже кнопка "Покупка в 1 клик" :)
еще раз спасибо
Не получается вызвать форму, скажите, с чем это связано?
Как настроить поля формы? И еще текст сверху и кнопка отправить белого цвета (в создании сайтов только учусь)
В целом, такое поведение после отправки сообщения возникает из-за того, что помимо JSON-данных AJAX-запрос возвращает предупреждения и JS не может распарсить ответ корректно. Проверьте, что у вас в общих настройках Joomla опция "Показывать ошибки" установлена в "Нет".
P.S. Модуль из разряда "ничего лишнего" быстрый и простой. Установил в количестве 3 шт. как форма обратной связи, задать вопрос и заказать обратный звонок, все работает!!! Рекомендую.
Стиль всплывающего окна немного переделал, в joomla-4 bootstrap5 все красивое конечно, но мне низ и верх модального окна не нужен, считаю излишеством.
Единственное пожелание. Виталий, возможно ли выпилить jQuery и перейти на чистый JS, чтобы не грузить дополнительную библиотеку jQuery?
И большое человеческое спасибо тебе за данный продукт, он действительно самый самый из всех имеющихся джумловских разработок форм.
Я сам еще не тестировал модуль на Joomla4, но судя по вашему опыту, всё будет хорошо.
Насчет jQuery. Я думал об этом. Но у меня есть и другие внутренние расширения, которые используют зависимые от jQuery библиотеки, например, Fancybox3 и, конечно, slick. Кроме того, я сам очень люблю jQuery. Написание с ним кода становится гораздо удобнее и быстрее.
Вообще, по данному модулю накопилось уже достаточно много пожеланий. Многие из них очень нужны, но они сломают текущие макеты. В первую очередь - это избавление от обертки DIV, что даст возможность удобного использования модуля в билдерах страниц.
Здесь, вероятно, будет выпущено большое обновление - Wedal Joomla Callback2, в котором постараюсь добавить много дополнительных приятным плюшек, как для пользователей, так и для разработчиков.
И попробовать хотя бы с первого варианта убрать jQuery. Я в скриптах особо не силен, но погуглив форумы бутсрапа и девелоп джумла, я понял, почему они перешли на чистый js - код меньше, проще, без зависимостей. Хотя jQuery была придумана именно для упрощения js. Видимо они знают что-то такое, чего нам еще неведомо :)
Сейчас с совместимостью и стандартного JS всё стало довольно неплохо. Но вот то, что кода без JQ приходится писать меньше - не соглашусь никак.
Насчет "drawWindow из CanvasRenderingContext2D" - не наблюдаю ничего похожего. Вы уверены, что это относится к модулю?
P.S. Понравился твой обзор joomla-4, увидел на канале в телеграмме. Респект!
Спасибо за модуль.
Хотелось узнать - будет доработка по отправке на сообщения на несколько адресов емейл ?
Или там самому что то допилить можно если не сложно ?
Виталий, спасибо за быстрый и обнадеживающий ответ. )
За переадресацию почты - я знаю, но не совсем подходит.
Будем ждать обновления!
Удачи Вам!
А когда доходит до верха то шапки попАп не видно;
Проверил на 2 сайтах
Я включил эту проблему в список задач на исправление. Поправлю в ближайшем обновлении. Спасибо за подсказку.
Здравстсвуйте. А у меня на четверке не стал. Пишет "Unexpected token < in JSON at position 0"
Работа с токеном происходит в модуле в 2 файлах: макет формы, которая отправляется и файл helper.php. И там и там по паре строчек. В целом можете подправить, пока не вышло обновление модуля.
А можно использовать вашу форму без привязки к модулю? Ну т.е. у меня есть лэндинг дополнительно к основному сайту, сделанный без Joomla и я хотел бы использовать ваш модуль на нем тоже.
Как мне это сделать?)
Спасибо.
P.S. Форма работает хорошо, спасибо за нее!
Пора бы сайт обновить, но боюсь что придется с Вашим модулем распрощаться ...
Спасибо
Обновляться на J4 с J3, на мой взгляд, пока рано. Сейчас точно не стоит, т.к. J3 будет поддерживаться еще довольно долго. А через полгода-год можно будет уже смело обновляться. Там и стабильность J4 будет выше и все разработчики расширений доведут до ума свои продукты в J4.
Кстати, может быть можно будет нам сработаться на этом вопросе ? ;)
Хочу использовать в качестве кнопки иконку Font Awesome ну или картинку.
Как это сделать? В поле "Callback button text" нельзя указать тег .
Спасибо
Я имел ввиду добавить возможность иконки или картинки, в самом модуле. Как пожелание.
Спасибо, модуль понравился.
Uncaught TypeError: jQuery(...).tooltip is not a function
at HTMLDocument. (template.js:50:28)
at i (jquery.min.js?c28124dadedfbdfbfcaa5ef14d7c3709:2:27449)
at Object.fireWith [as resolveWith] (jquery.min.js?c28124dadedfbdfbfcaa5ef14d7c3709:2:28213)
at Function.ready (jquery.min.js?c28124dadedfbdfbfcaa5ef14d7c3709:2:30006)
at HTMLDocument.K (jquery.min.js?c28124dadedfbdfbfcaa5ef14d7c3709:2:30368)
jquery-3.6.1.min.js:2 jQuery.Deferred exception: jQuery(...).carousel is not a function TypeError: jQuery(...).carousel is not a function
undefined
S.Deferred.exceptionHook @ jquery-3.6.1.min.js:2
copyright_border.png:1 Failed to load resource: the server responded with a status of 404 ()
jquery-3.6.1.min.js:2 Uncaught TypeError: jQuery(...).carousel is not a function
at HTMLDocument. ((index):294:29)
at e (jquery-3.6.1.min.js:2:30038)
at t (jquery-3.6.1.min.js:2:30340)
--- (в правом углу, всплывающее, с тегом получи бесплатное занятие)
Спасибо вам за прекрасный модуль!
На джумле 3 и пхп 7 работает на ура, вот на локалке поставила на джумлу 4.2.5 и пхп 8.1, выдает предупреждение Deprecated: htmlspecialchars(): Passing null to parameter #1 ($string) of type string is deprecated in modules\mod_wedal_joomla_callback\mod_wedal_joomla_callback.php on line 18
Исправьте, пожалуйста)
За время существования первой версии модуля было много замечаний и предложений от пользователей, я собирал их все и сейчас стараюсь закрыть полностью в новой версии. Осталось совсем немного. Релиз должен быть скорее всего на этой или на следующей неделе - точно до Нового Года.
Вы можете уже сейчас использовать новый модуль. Я бы сказал, что он в статусе beta из-за того, что еще не добавлено несколько новых функций. Но все базовые и новые встроенные возможности он уже исполняет стабильно.
Можете скачать и попробовать:
https://github.com/wedal/mod_wedal_joomla_callback/archive/refs/heads/dev.zip
Еще раз: поддерживается только Joomla 4+.
Огромное спасибо за ваш труд!
И хотелось бы на каждую форму и кнопку свои цели..
1) Через свой JS-код. Отлавливаете клик по кнопке, определяете у ее родителя ID-модуля или то, что нужно, чтобы идентифицировать форму для метрики. Отправляете эти данные в метрику.
2) Через альтернативные макеты. Создаете для каждого модуля альтернативный макет (той части, в которую хотите добавить цели, например, макет кнопки вызова формы). Выбираете разные макеты для разных экземпляров модуля, в разных макетах задаете разные цели.
Оба этих варианта не самые простые/удобные. В Wedal Joomla Callback 2 я постараюсь добавить настройку в админке, которая будет задавать цели.
Но в идеале бы в настройках включать )))
Прекрасный модуль!
Единственное, чего не хватает, на мой взгляд - это нельзя по умолчанию сделать чекбокс согласия отмеченным. Было бы неплохо увидеть такую опцию в будущем.
В чем может быть проблема, куда капать, подскажите...?
Сайт на Joomla 5
at JSON.parse ()
at wjcallback.js?014ab6:90:37
Скрин в коментах не пойму как прикрепить, я вам на почту сброшу. Помогите исправить пожалуйста.
sistem joomla 4.4.5