Куда идем?

Друзья, рад представить вам свою новую разработку – модуль, реализующий всплывающую и встраиваемую форму обратной связи на сайте.

Модуль распространяется бесплатно. Он прост в установке и настройке. Теперь вы можете получить отличную контактную форму на сайте всего в несколько кликов.

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 добавлена опционально подключаемая маска для ввода номера телефона в соответствующем поле. В настройках модуля вы можете задать маску самостоятельно.

Если на странице выводится несколько модулей, маски в каждом из них могут отличаться.

maskedinput

Настройки Wedal Joomla Callback

Все настройки 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 не работают языковые файлы. Перенос убран.
Об авторе
Wedal
(Виталий). Веб-разработчик полного цикла (Full Stack). Создатель и автор сайта Wedal.ru.
Основной профиль – создание сайтов и расширений на CMS Joomla.
Добавить комментарий

Комментарии  
1
А хде дэмо модуля?!)
0
Лаптев Михайлович, пока только на картинках. Руки еще не дошли. Там больше особенно нечего демонстрировать. Можете установить модуль на любой сайт и посмотреть в живую. Ничего настраивать не нужно. Опубликуйте его в любой позиции и увидите в работе.
2
Виталий, здравствуйте!

Модуль, безусловно, прекрасен, но... согласно требованиям ФЗ-152 "О персональных данных" в форме обратной связи должен присутствовать, как минимум, чекбокс "Я ознакомился/ознакомилась с Политикой конфиденциальности", а как максимум, ещё следует добавить чекбокс "Я согласен/согласна на обработку моих персональных данных" и ссылка на "Пользовательское соглашение".

Без них, к сожалению, ваш модуль, станет для владельца сайта источником немаленьких штрафов со стороны Роскомнадзора, в чём я лично уже имею печальный опыт - 65 тыс. руб. в бесспорном и внесудебном порядке.

Если вы дополните свой модуль вышеуказанными чекбоксами и ссылкой, - поверьте, цены ему не будет, и я готов (думаю, и другие веб-мастера тоже) заплатить за него разумные деньги.

Удачи вам, Виталий!
1
Александр,

Да, вы правы. Я постараюсь внести это дополнение в ближайшее время. Обновление придет автоматически для уже установленных модулей через стандартную систему обновлений Joomla.

Вообще, у меня двоякое отношение к этому закону. Почему? Я думаю, эти надписи негативно будут влиять на конверсию форм. Это нам с вами понятно, что ничего особенно не меняется, только добавляется уведомление. А простые люди, уже и так ужасно уставшие от бесконечных звонков и СМС-спама, могут истолковать такую приписку совершенно иначе. Что-то вроде "Отправляя форму, вы даете согласие на то, что мы будем надоедать вам звонками и присылать смс-ки по ночам". Если человек представит толкование надписи примерно в таком виде, то, вероятно, он просто закроет форму и уйдет с сайта.

Получается парадоксальная ситуация: в некоторых случаях малому бизнесу проще оформить домен на физическое лицо и платить штрафы по этому бессмысленному закону, чем подводить по него формы и снижать конверсию. Т.е. потери от снижения конверсии будут больше штрафов.
Конечно, я никого не призываю так делать. Просто для меня совершенно не понятен смысл этого закона. Кому надо - тот и так соберет все данных.

Юристы говорят, что даже если вы запрашиваете имя и адрес электронной почты, то это уже сбор персональных данных. И даже если они никуда не записываются, а просто приходят на email, то это ничего не меняет.

Я внесу возможность публикации предупреждения о сборе персональных данных отдельной опцией. А пока вы можете просто добавить ссылку в макет формы, предварительно переопределив его в шаблон Joomla.
0
Благодарю, Виталий, за развёрнутый ответ т готовность изменить модуль.
Да, я с Вами полностью согласен о засилье в Сети дурацких законов - как, к примеру, я могу идентифицировать человека лишь по адресу Email - для меня, как для нормального человека до сих пор остаётся загадкой.
НО "благодаря" этому закону, пришлось регистрироваться в РКН как оператору ПД - а это идиотизм уже высшей категории, поскольку требования, предъявляемые к операторам, в частности, к физлицам, это просто нонсенс.
1
Александр, чекбокс согласия с обработкой персональных данных добавлен в модуль в версии 1.1.2.
0
Виталий. После нажатия на кнопку появляется крутящееся кольцо и ничего не происходит. В консоли обнаружил ошибку "Uncaught TypeError: wjcmodal.load is not a function
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)"
Как исправить? Не подскажете?
-1
Разобрался. Проблем была в "тонком" jQuery. Погуглив узнал, что в нем убраны обработчики ajax. Подключил полный jQuery, заработало.
1
Установил ваш модуль на J 3.9.1, модуль вывелся, кликаю на кнопку, всплывает окно, но в теге Modal-body пусто, поля не подгружаются, в чем может быть причина? Спасибо
0
Константин, проверил на J 3.9.1 - всё работает. Я думаю, форма не подгружается , поскольку у вас на сайте используется jQuery Slim. В этой версии jQuery нет функции, которая подгружает форму. Замените Slim-версию на стандартную jQuery и всё должно заработать. Прежде, чем менять, проверьте работоспособность на стандартном шаблоне Joomla. Если форма появится, то дело скорее всего в jQuery Slim.
0
Здравствуйте, Виталий

Возможно ли добавлять свои поля в форму? Например, название организации...
-1
Юрий, да. Подробное описание здесь:
https://wedal.ru/wedal-joomla-callback-cases/dobavlenie-lyubykh-dopolnitelnykh-polej-v-formu-obratnoj-svyazi-wedal-joomla-callback.html
0
Спасибо огромное ! ваш модуль-то, что мне нужно, просто находка. Просто фраза без раздражающих всплывающих кричащих кнопок. У меня все работает.
0
А как по ссылке открыть такое окно обратной связи? Например, чтобы под кнопку в PageBuilder положить?
0
Андрей, чтобы скрипт открыл правильную форму, ему нужно знать ID модуля. В статье есть пример кода, который вызывает модуль. Т.е. вы можете сделать так:
1) Опубликовать модуль в какой-нибудь видимой позиции на сайте.
2) Скопировать html-код вызова модуля (3 строчки, вроде тех, которые показаны в статье)
3) Разместить код вызова модуля в PageBuilder
4) Перенести модуль в скрытую, но существующую позицию.
Но это в теории. На практике я не пробовал такой фокус.

А что мешает вам вывести модуль прямо в PageBuilder? Ведь он выведет только эти же 3 строчки кода.
-1
Установил себе на сайт, но не подгружаются поля. Заметил особенность зависит от позиции, если просто публикую модуль в позиции шаблона, но поля подгруужаются и письмо отправляется. Проблема возникает в тот момент, когда публикую код в компоненте html, так поля не подгружаются:

Заказать


В чем может быть проблема?
0
alex, что такое "компонент html" ?
0
Модуль типа custom. Туда я вставляю код

Код:

<div id="WJC102" data-id="102" class="wjcallback ">
<a class="wjcallback-link" href="#">Заказать</a>
</div>

0
alex, недостаточно просто вставить этот код. Важно еще опубликовать модуль. Его можно скрыть визуально, но он должен быть опубликован на сайте, т.к. в нем подгружаются скрипты, необходимые для работы формы.
0
500 ошибка при отображении модуля
0
Ветал, ошибка 500 означает, что есть какая-то ошибка PHP (вероятно), но она не показывается пользователям по соображениям безопасности (так настроен ваш сервер). Посмотрите по логам, какая именно ошибка у вас выводится, напишите сюда, я помогу.
0
К сожалению, та же ошибка
0
Доброго. В письме будет адрес страницы с которой была отправка формы если модуль опубликовать на всех страницах?
0
Sergiy, по умолчанию такой возможности нет, но ее можно легко добавить. Для этого нужно переопределить макет письма ( modules/mod_wedal_joomla_callback/tmpl/default_message.php) в используемый шаблон Joomla (/templates/ваш_шаблон/html/mod_wedal_joomla_callback/default_message.php) и добавить в него вывод URL текущей страницы.

Да, теперь такая возможность доступна прямо из коробки.
0
Здравствуте! Не выводится форма. Вот такой код в модуле:

Код:

 &nbsp; Внимание: Запишитесь на встречу с одним из наших профессиональных консультантовЗамер, просчет, изготовление, логистика, доставка и постгарантийное обслуживание.<br />Контакты 


Что не правильно?
0
Юрий, пришлите ссылку, где можно посмотреть в живую.
0
Здравствуйте!
Джумла 3.9, установил модуль, опубликовал, появилась надпись (в настройках написал "Свяжитесь с нами", настроил поля) с линком.
При нажатии на линк открывается окно с надписью "Заказать обратный звонок" без полей для заполнения.
В индексном файле шаблона подключил jquery 3.3.1
Ощущение, что срабатывает что-то по умолчанию.
Сайт закрыт, но если нужно посмотреть - открою
0
Андрей, jquery не slim? Нужна полная версия. Если нет, то дайте ссылку на живой пример - посмотрю.
0
На локальном серваке не работает, если сайты в поддоменах сервака. Ссылки наверно относительные указаны.

[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)
0
Иван, да, ссылки относительные. Спасибо за наводку. Проверю и внесу правки.
0
Протестировал модуль.
Что понравилось:
1) Нет капчи, которая всех бесит
2) сообщение после отправки появляется там же (а не вверху во всплывающем окне и не на другой странице)
Что не очень:
1) нет галочки про ФЗ 152
2) вместо тултипов, привязанных к полям, - инф. сообщения, которые появляются вверху (в гуглхроме по крайней мере)
3) нельзя выбрать неск емейл получателей (иногда это надо)
4) письма на gmail падают в спам
0
Хуш, спасибо за отзыв.

Из недостатков: всё по делу, кроме последнего. Письма в спам - это уже не от модуля зависит, а от настроек почты.

Остальное буду дорабатывать по мере возможности.
-1
Виталий, здравствуйте. Подскажите, пожалуйста, какие файлы в модуле нужно редактировать чтобы добавлять другие поля? Очень нужно.
0
Дмитрий, подробный гайд по добавлению дополнительных полей здесь:
https://wedal.ru/wedal-joomla-callback-cases/dobavlenie-lyubykh-dopolnitelnykh-polej-v-formu-obratnoj-svyazi-wedal-joomla-callback.html
0
Здравствуйте, Виталий!
У меня сайт на Yootheme Pro (test.rem-parts.ru),
Установил Ваш модуль обратной связи и пробую вставить его через "вставку модуля":
{loadmoduleid 103}

Модальное окно появляется, а в нем ничего нет:

Единственное, заголовок белым шрифтом есть:


Подскажите, плиз, куда копать?
0
Сергей, на странице жмите F12, там открывайте вкладку "Консоль" и смотрите ошибки, которые там есть. Очень вероятно, что они там будут.
0
Во-первых Большое спасибо автору за бесплатный Модуль Wedal Joomla Callback он мне помог решить проблемку при создании сайта. Поэтому не поленился и написал решение по которому немного пришлось подумать.
Не подгружаются поля для заполнения Имя, Телефон при вставке кода в «Модуль фрагмента HTML-кода»

Заказать


При нажатии просто открывается форма «Заказать обратный звонок» и кнопка «Отправить» без полей заполнения Имя, Телефон.

Решение было найдено.
1. Создаём обязательно Модуль Wedal Joomla Callback и опубликовываем его.
2. Создаём «Модуль фрагмента HTML-кода» и вставляем код:

Заказать

3. Меняем в этом коде id и data-id на выше созданный модуль
Например:

Заказать


на


Заказать


Как мы находим id и data-id. Например, при помощи браузера Firefox кликаем по странице с опубликованной кнопкой «Оьратного звонка» правой кнопкой мышки, затем «Исследовать элемент» и находим нужный нам код. Далее я думаю вы разберётесь ))

Автор если что подправите меня. Спасибо!
0
Владимир, в комментариях вырезается код. Для вставки кода используйте, пожалуйста, специальный тег (последний в списке тегов комментариев). Было бы здорово, если бы вы отредактировали ваш комментарий, восстановив код. Он может быть многим полезен.
0
Понял ) Редактирую.
Во-первых Большое спасибо автору за бесплатный Модуль Wedal Joomla Callback он мне помог решить проблемку при создании сайта. Поэтому не поленился и написал решение по которому немного пришлось подумать ))
Не подгружаются поля для заполнения Имя, Телефон при вставке кода в «Модуль фрагмента HTML-кода»

Код:

<div id="WJC102" data-id="102" class="wjcallback "> <a class="wjcallback-link" href="#">Заказать</a> </div>


При нажатии просто открывается форма «Заказать обратный звонок» и кнопка «Отправить» без полей заполнения Имя, Телефон.
Решение было найдено:
1. Создаём обязательно Модуль Wedal Joomla Callback и опубликовываем его.
2. Создаём «Модуль фрагмента HTML-кода» и вставляем код:

Код:

<div id="WJC102" data-id="102" class="wjcallback "> <a class="wjcallback-link" href="#">Заказать</a> </div>


3. Меняем в этом коде id и data-id на выше созданный модуль
Например:

Код:

<div id="WJC102" data-id="102" class="wjcallback "> <a class="wjcallback-link" href="#">Заказать</a> </div>


на

Код:

<div id="WJC115" data-id="115" class="wjcallback "> <a class="wjcallback-link" href="#">Заказать</a> </div>


Как мы находим id и data-id. Например, при помощи браузера Firefox кликаем по странице с опубликованной кнопкой «Обратного звонка» правой кнопкой мышки, затем «Исследовать элемент» и находим нужный нам код. Далее я думаю вы разберётесь ))
Теперь по моему правильно )
0
У меня на сайте ваш модуль не работает. При активации button «Отправить» появляется бесконечный Preloader и письмо не отправляется. Ошибок, в панели разработчика, НЕТ! Пожалел, что убил полчаса своей жизни на бесплатно-сырой модуль. Как вы думаете, уважаемый, зачем мы скачиваем ваш модуль, когда он не выдерживает конкуренции, например с бесплатным КОМПОНЕНТОМ «Joomly Callback»?
1
Форест, давайте попробуем разобраться с вашим вопросом.

Бесконечный прелодер скорее всего означает, что AJAX-запрос, после которого он появился, возвращает ошибку.
Вы можете посмотреть результаты запроса в консоли браузера. Там не будет ошибок, выделенных красным, но будет виден запрос (XHR). Если раскрыть его и посмотреть вкладку "Ответ" с включенным в Joomla отображением ошибок, вы должны увидеть там текст ошибки. Напишите его сюда и я помогу. Либо пришлите ссылку на живой сайт и я посмотрю сам.

Ну а насчет того, чем модуль лучше... Уже хотя бы тем, что не компонент. Легче, быстрее, проще.
0
Модуль не работает. Я думаю автор это и сам знает. Если бы модуль работал, по крайне мере была бы подробная инструкция о том как его устанавливать и описание, что такое id и id-data. Я не понимаю зачем людям голову морочить?
2
Самсон, я вот тоже не понимаю - зачем? Заморочился, написал неработающий модуль, статью, выпускаю обновления. Это всё заговор мировых правительств =).

Ну какая вам нужна инструкция по установке? Скачал, зашел в менеджер расширений, выбрал архив, всё само установилось. Также, как любое другое расширение Joomla.

Id и data-id нужны чтобы скрипт мог понять, какой именно модуль вызван. На странице может быть несколько экземпляров модуля с разными настройками, а скрипт один. Это и круто. Но без уникального идентификатора скрипт не поймет каким именно экземпляром воспользовался пользователь.

Если у вас модуль не работает, напишите мне, попросите помочь. Я еще никому не отказал в комментариях выше. Зачем писать такую ерунду? В Joomla может быть огромное количество конфигураций. Кто-то пользуется стандартными шаблонами, кто-то билдерами страниц. У кого-то изначально на странице есть ошибки JS, которые могут препятствовать правильной работе скриптов.

Напишите, что именно у вас не работает, или, еще лучше, дайте ссылку на живой пример. Я постараюсь помочь разобраться с проблемой.
3
Подтверждаю модуль рабочий на 100% Просто у некоторых знаний не хватает или руки не из того места растут )))
0
День добрый!
При выборе поля для комментария без его обязательности, это поле не появляется на фронте вообще.
1
Александр, спасибо, что написали. Да, это был баг. Исправил и выпустил обновление. Обновитесь до версии 1.1.3.
0
День добрый!
Во всплывающем окне при включении показа ошибок есть вот такое : Notice: Undefined variable: formtitle in /...../modules/mod_wedal_joomla_callback/tmpl/default_popupform.php on line 10
0
Александр, не страшно (это просто предупреждение о том, что переменная не определена, на работу модуля никак не влияет), но да, нужно я добавлю доп. проверку в код, чтобы это не показывалось. Чтобы быстро скрыть предупреждение, вы можете отключить отображение ошибок в общих настройках Joomla.
0
По поводу вывода кнопки, не совсем правильно ! Выводит ссылку на форму, кнопки то там нет. При обновлении слетели все CSS изменения сделанные мной под свой сайт, а это не комильфо!
0
Александр, кнопка, в данном случае, это то же самое, что и ссылка. Разница только в оформлении.

Стили у вас слетели при обновлении вероятно потому, что вы добавляли их в CSS-файл модуля. Этого делать нельзя, это хак. При обновлении все файлы модуля перезаписываются новыми и ваши изменения стираются. Правильно добавлять ваши CSS-стили в используемый шаблон Joomla, в один из его CSS-файлов. При этом стили всё равно будут применяться к модулю, но при его обновлении не потеряются.
-1
при создании модуля со встроенной формой-отправляет письмо с пустым содержимым.я проверил по коду-$body = ob_get_contents(); не получает никаких данных,переменная пустая.
копнул дальше-в строке $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"}
0
Guest, перепроверил работу встроенного модуля с указанными настройками. У меня письма приходят нормально.

Какая у вас версия Joomla?
Работает ли корректно всплывающая форма?

Также попробуйте отключить кэширование модуля, если у вас включено кэширование сайта в общих настройках.
-1
кеширование на сайте выключено
версия 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); успеха не приносит для встроенной формы,но ещё и не выводит поля всплывающей.
0
Guest, Вы не изменяли код модуля? Посмотрите, что выводит переменная $module после строки:
$module = ModWedalJoomlaCallbackHelper::getModuleById($moduleId);
0
не изменял
возвращает bool(false)
0
что-то вырисовалось.в методе getModuleById я посмотрел что возвращает $modules = JModuleHelper::getModuleList();
оказалось такая интересная ситуация:сайт у меня на 3-х языках.сразу оговорюсь,проблема одинакова для всех языков.
так вот,в каждом языке есть 3 модуля.один всплывающий,есть на всех страницах.второй встроенный,есть только на главной.третий встроенный,есть везде,КРОМЕ главной.
первый и третий работают,а вот второй-нет.и вот как-раз в выше упомянутом методе приходят один раз всплывающий модуль(всё верно),и ТРИ РАЗА встроенный модуль,но не тот что под номером 2,а тот что под номером 3,которого на главной вообще нет(и его действительно на странице нет).а вот модуль,который есть на этой странице-не приходит вообще.
если в админке отключить модуль 3,то только модуль 1 остаётся в списке(всплывающий),хотя физически на странице модуль есть.
0
Guest, я, кажется, понял, в чем тут соль. Фокус в привязке модулей к отдельным страницам. Модуль вызывается по AJAX и в вызове не передается Itemid страницы вызова (условно - той страницы, к которой модуль привязан, в вашем случае - Главной). Поэтому Joomla думает, что список модулей запрошен не с главной страницы а с другой. В результате она возвращает 2 модуля, которые привязаны к другой странице (= все, кроме главной).
Я даже не думал в этом ключе, когда делал модуль. Нужно будет внести правку, при которой как-то учитывать привязанные пункты меню при вызове через AJAX.
У вас же пока решение очень простое: сделайте привязку всех экземпляров модуля ко всем страницам и всё будет работать.
Если нужно скрыть модуль на всех страницах, кроме главной, задайте для него по умолчанию display: none; , а на главной переопределите через какой-нибудь уникальный класс на display:block;. Пока только так.
0
Кнопка "заказать обратный звонок" выводит пустую форму. Форма появляется, если модуль опубликован на всех страницах, по иному - никак. Виталий, исправляйся :)
2
Юрий, да, такая проблема есть. В статье информация о ней выделена синим. Исправлю в ближайшем обновлении.
1
Выпущено обновление 1.1.4. В версии 1.1.4 исправлена ошибка, связанная с привязкой модуля только к некоторым пунктам меню. В это версии были частично изменены макеты вывода форм. Если вы использовали модуль верси 1.1.3 или ниже с переопределенными в шаблон макетами, пожалуйста, актуализируйте их, сравнив с оригинальными (список изменений можно посмотреть здесь: https://github.com/wedal/mod_wedal_joomla_callback/commit/abfa992d7cc53dc5baaa653ed3fab07c7f93b4a2).
0
Модуль классный, спасибо автору!

Вопрос есть: как сделать так чтобы при ответе на письмо подставлялся адрес посетителя? Сейчас при ответе если не обратить внимание письмо отправляется на адрес сайта
0
djbu, эта функция добавлена в версии 1.2.0
1
Здравствуйте. хороший модуль ). А где можно поправить чтобы выводился не ссылкой а кнопкой на странице ?
0
Guest, в CSS вашего шаблона. Ссылку от кнопки, в общем случае, отличают только стили оформления.
0
Добрый день!

А можно по подробнее про это пожалуйста.
1
Спасибо! Модуль простой и понятный. Как сделать, чтобы отображалась ссылка на страницу сайта с которой был сделан был сделан запрос.
Подскажите где и что добавить, пожалуйста )
2
Оксана, эта функция добавлена в версии 1.2.0.
0
Здравствуйте, Виталий. Подскажите, к форме можно прикрутить маску телефона? В каком файле это реализовать?
0
Игорь, эта функция добавлена в обновлении 1.2.0.
1
Wedal, Добрый день!
Установил модуль. После отправки появляется текст:
Invalid token. Похоже ваша сессия закончилась. Перезагрузите страницу и отправьте запрос повторно.

Кэш в общих настройках и плагин кеширования отключены. Как решить эту проблему?
Спасибо
0
hush, может быть действительно закончилась сессия? Если нет, то возможно домен 3 уровня. Выше в комментариях писали, что есть проблемы с поддоменами. Если нет, то нужно анализировать подробно.
1

Цитирую Wedal:

hush, может быть действительно закончилась сессия? Если нет, то возможно домен 3 уровня. Выше в комментариях писали, что есть проблемы с поддоменами. Если нет, то нужно анализировать подробно.


там не домен второго уровня - сайт в сайте, такой адрес - сайт.ру/сайт2.ру
и вот на сайт2.ру стоит форма. Можно это как-то поправить? у заказчика жгучее желание не использовать капчу, а каких-то других безопасных форм с нужным функционалом я не нашел.
0
hush, да, думаю можно поправить. Проблема, скорее всего, кроется в том, что JSession::checkToken() определяются неправильно. Найдите в файле helper.php эту строчку и поэкспериментируйте с ней применительно в вашей структуре.
0
Здравствуйте. Подскажите пожалуйста. Как поменять в вашем модуле CSS?
1
Владимир, просто пишите нужные стили в CSS-файле вашего шаблона.
0
Добрый день! Возможно, будете смеяться надо мной, но я не программист, и сайт свой сама пытаюсь продвигать. Многое не умею, а наши спецы-сайтостроители не хотят браться за имеющиеся сайты и что-то в них встраивать или дорабатывать. Поэтому приходится барахтаться самой )) Я по вашему уроку построила форму обратной связи в Контактах, но пробные письма не приходят на почту... Не понимаю, в чем проблема. Имя почты проверила - всё правильно...
Скачала ваш плагин с формой обратной связи. Хочу спросить - встраивать его нужно в виде архива, как он скачался, или нужно куда-то распаковать? А прописанные команды с кнопкой вызова Формы обратной связи куда встроить можно? Или этот код нужно прописать какой-то кнопке?
0
Татьяна, это не плагин, а модуль. Устанавливается он в Joomla как и все другие расширения, через менеджер расширений в админке. Вам нужно загрузить там архив с модулем, а затем в менеджере модулей опубликовать его в нужной позиции шаблона и задать настройки. Всё.
0
Спасибо за это улучшение - «В письме теперь показан URL страницы, с которой отправлена форма». Очень полезная информация о странице запроса на обратную связь.
Правда, для моего сайта необходимо передавать в письмо ещё и информацию о конкретном модуле Wedal Joomla Callback. На сайте для каждого специалиста свой модуль, а для менеджера необходимо сочетание информации URL-страницы и имя специалиста чей модуль был использован.
Для версии 1.1.4 сделал переопределения модуля, в частности, изменив файл default_message.php. Но с Вашей новой версией (1.2.0) решение стало изящным.
Спасибо за отличный модуль!
0
сообщения не приходят
0
Joom, модуль отправляет письма через стандартный функционал Joomla. Первым делом убедитесь, что проверочное письмо, которое можно отправить из общих настроек Joomla, доходит до вас. Если нет, проблема не в модуле, а в настройках отправки почты. Если да - напишите сюда, разберемся.
0
Прошу прощения, как это проверочное письмо отправить?
0
Система -> Общие настройки -> Вкладка "Сервер" -> Блок "Параметры почты" -> Кнопка "Отправить тестовое сообщение"
1
Спасибо за модуль! Он идеален!
Есть вопрос, как можно запустить модуль через ссылку?
Я хочу добавить в меню кнопку "Заказать звонок", а в меню можно использовать только ссылки, этот код там некуда вставлять (id="WJC102" data-id="102")
1
Guest, на данный момент запуск модуля по прямой ссылке невозможен, т.к. при вызове требуется передать ID, который берется из родительского DIV'а. Это была, вероятно, не самая удачная идея, и нужно было использовать эти data-параметры в самой ссылке, а не в родителе. Такое исправление не потребует много времени, но, определенно, потребует изменений макета вывода кнопки, что означает, что после такого обновления у пользователей, которые установили модуль раньше и оформили его под себя, может пропасть оформление. Я уже некоторое время думаю, как реализовать этот момент таким образом, чтобы и волки были сыты и овцы целы. Вероятно, в ближайшей перспективе, такое исправление все-таки будет сделано.

По вашему вопросу:
Проще всего, на мой взгляд, вставить в меню пустую ссылку (ссылку с пустым href или равным "#" и добавить на нее JQuery-обработчик on click), который при срабатывании будет кликать на кнопку вызова модуля (сам модуль можно опубликовать в любой позиции и скрыть). Всё это звучит слегка сложно, но по факту:

Код:


jQuery(document).ready(function($) {
$('.класс_меню').on('click', '.класс_ссылки_в_меню', function(event) {
event.preventDefault();
$('.класс_кнопки_модуля').click();
});
});

0
буду пробовать ваш модуль, все равно буду делать український перевод, вам файли вислати?
0
Stepan, если сделаете украинский перевод, присылайте - включу его в модуль.
1
Здравствуйте, как добавить выпадающий список кода страны к телефону?
0
Андрей, только дописыванием кода. Либо можно подключить к полю выбора телефона другой jQuery-плагин, вместо MaskedInput, например этот:
https://nosir.github.io/cleave.js/. Там уже заложен выбор страны.
0
А как скачать то? НЕ найду ссылку.
0
Юрий, плохо ищете =). Есть в статье.
https://github.com/wedal/mod_wedal_joomla_callback/archive/master.zip
1
Очень хороший модуль, использую на трех сайтах. Автору респект! И вопрос - возможно ли добавить в форму несколько полей, к примеру чекбокс, чтобы юзер мог выбирать конкретную услугу. У нас магазин окон, дверей и ремонт балконов. Было б замечательно, если бы в форме было так:
Телефон
Почта
Что вы хотите заказать:
  • Окна
окна
  • Двери
окна
  • Ремонт балкона
окна
Комментарий

Виталий, такое возможно сделать, или это утяжелит код и вызов формы?
1
Юрий, подробное описание здесь:
https://wedal.ru/wedal-joomla-callback-cases/dobavlenie-lyubykh-dopolnitelnykh-polej-v-formu-obratnoj-svyazi-wedal-joomla-callback.html
0
Выглядит достойно !
Вот если бы в модуле была бы возможность указания выбора современных мессенджеров для обратного звонка, то было бы вообще - СУПЕР !
Использует человек скажем Viber - ставит чекбокс "Viber" или выпадающий список, но тут не возможно выбрать несколько вариантов...

Wedal подумайте над этим - это добавит цены и веса Вашему модулю !
0
Алексей, на самом деле добавить дополнительные поля к форме очень просто. Достаточно включить такое поле в макет вывода формы, а в макете письма получить его из POST-запроса и вывести. Даже хаков не потребуется.
В будущем напишу подробную статью о том, как это делается.
0
Отлично !
Буду ждать подробного описания !
0
Алексей, теперь оно есть: https://wedal.ru/wedal-joomla-callback-cases/dobavlenie-lyubykh-dopolnitelnykh-polej-v-formu-obratnoj-svyazi-wedal-joomla-callback.html
1
Отлично !
Молодец !
Спасибо !
0
Огромное спасибо за модуль! Супер! Немного повозилась с настройками, но все работает отлично! Помогли ответы на комментарии)
1
Спасибо огромное, давно искал, уже и платные брал, но везде много всего лишнего и лишние навороты.
Пару простых бы Шаблонов внешнего вида и цены не будет тебе !!!
И желательно чтобы Css свой тянул, а то поставил и все окно кривое :( что-то затянул под себя из шаблона
Но работает, без танцев с бубном !!!!
0
Иван, оформление специально не включал, т.к. использую модуль под проекты с уникальным дизайном. Каждый раз его приходится делать разным. Но, пожалуй, соглашусь, можно сделать пару опционально подключаемых пресетов стилей. Внес в список задач на новую версию.
0
Я тоже, но иногда они примитивны и достаточно фон сменить под сайт и все.
А также было бы супер если можно было привязывать всплывашку к любой ссылке )) тут было бы супе и можно уже за платно продавать;
Так как пару штрихов и вообще уже кнопка "Покупка в 1 клик" :)

еще раз спасибо
0
Здравствуйте!

Не получается вызвать форму, скажите, с чем это связано?
1
Павел, посмотрел ваш сайт. На странице с формой не загружается скрипт JS формы. Это обычно связано с тем, что модуль не выведен на указанной странице. Т.е., вероятно, вы скопировали код кнопки и ограничились этим. Но чтобы форма работала, модуль должен быть опубликован на странице, пусть и в скрытой позиции.
0
Здравствуйте. Отличная работа, но у меня небольшие проблемы. Просто установил Ваш модуль и все работает за исключением внешнего вида.

Как настроить поля формы? И еще текст сверху и кнопка отправить белого цвета (в создании сайтов только учусь)
0
Дмитрий, спасибо! В настоящее время в модуле нет готовых пресетов оформления. Я не использую их, т.к. делаю каждый сайт по дизайну и модуль приходится оформлять всегда в разном стиле. Вы можете оформить модуль только через CSS-стили вашего шаблона. В ближайшем крупном обновлении планирую добавить несколько готовых пресетов оформления для модуля, подключаемых опционально.
-1
Спасибо большое, отличный модуль! Давно искал такое простое решение, но что то не попадался ваш модуль!
0
Модуль отличный, спасибо. Но возникла проблема, при отключенном поле "email" - при отправке контактных данных - бесконечно крутится прелоадер, соответственно не пишет, что все отправлено и мы свяжемся и т.д. При этом письмо на почту приходит, все норм, не срабатывает подтверждение об отправке.
0
Владимир, свяжитесь со мной любым способом со страницы "Контакты". Отправьте ссылку на страницу с модулем, где возникает проблема. Я посмотрю.

В целом, такое поведение после отправки сообщения возникает из-за того, что помимо JSON-данных AJAX-запрос возвращает предупреждения и JS не может распарсить ответ корректно. Проверьте, что у вас в общих настройках Joomla опция "Показывать ошибки" установлена в "Нет".
0
"Показывать ошибки" - на максимуме, так как сайт пока еще в разработке. С дефолтными настройками проблема исчезла. Еще раз спасибо за модуль и за тех. поддержку!!!
P.S. Модуль из разряда "ничего лишнего" быстрый и простой. Установил в количестве 3 шт. как форма обратной связи, задать вопрос и заказать обратный звонок, все работает!!! Рекомендую.
0
Делаю новый сайт на новой Joomla-4. Модуль установился сразу. Сделал три разных формы: две всплывающие - 1.создал для кнопки позицию в шаблоне файл index.php, 2.вставил в модуль через {loadmoduleid}. И еще одну обычную форму обратной связи. Все работает великолепно!
Стиль всплывающего окна немного переделал, в joomla-4 bootstrap5 все красивое конечно, но мне низ и верх модального окна не нужен, считаю излишеством.
Единственное пожелание. Виталий, возможно ли выпилить jQuery и перейти на чистый JS, чтобы не грузить дополнительную библиотеку jQuery?
И большое человеческое спасибо тебе за данный продукт, он действительно самый самый из всех имеющихся джумловских разработок форм.
0
YuriSEO, спасибо за отзыв!

Я сам еще не тестировал модуль на Joomla4, но судя по вашему опыту, всё будет хорошо.

Насчет jQuery. Я думал об этом. Но у меня есть и другие внутренние расширения, которые используют зависимые от jQuery библиотеки, например, Fancybox3 и, конечно, slick. Кроме того, я сам очень люблю jQuery. Написание с ним кода становится гораздо удобнее и быстрее.

Вообще, по данному модулю накопилось уже достаточно много пожеланий. Многие из них очень нужны, но они сломают текущие макеты. В первую очередь - это избавление от обертки DIV, что даст возможность удобного использования модуля в билдерах страниц.
Здесь, вероятно, будет выпущено большое обновление - Wedal Joomla Callback2, в котором постараюсь добавить много дополнительных приятным плюшек, как для пользователей, так и для разработчиков.
0
Спасибо за быстрый ответ. Пожеланий по твоему модулю довольно много, устанешь скролить страницу, у каждого свои хотелки )) Я бы твой модуль разделил на 2 разных модуля. 1 самый простой, форма - имя, телефон, мэйл, сообщение, кнопка отправить (для онлайн заказа или обратного звонка этого достаточно). А второй сделать расширенный вариант, назвать к примеру Callback-All-Inclusive.
И попробовать хотя бы с первого варианта убрать jQuery. Я в скриптах особо не силен, но погуглив форумы бутсрапа и девелоп джумла, я понял, почему они перешли на чистый js - код меньше, проще, без зависимостей. Хотя jQuery была придумана именно для упрощения js. Видимо они знают что-то такое, чего нам еще неведомо :)
0
YuriSEO, раньше голый JS был совсем печальным зрелищем, а для всяких недобраузеров, вроде IE, приходилось применять костыли. jQuery брал всё это на себя. С ним можно было писать нормальный код, не задумываясь особо о браузерной совместимости.
Сейчас с совместимостью и стандартного JS всё стало довольно неплохо. Но вот то, что кода без JQ приходится писать меньше - не соглашусь никак.
0
Здравствуйте. На localhost не подгружаются js. И еще не критично но лучше исправить: Использование метода drawWindow из CanvasRenderingContext2D является устаревшим. Для его замены используйте метод tabs.captureTab из API расширений https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/tabs/captureTab
0
Алекс, вы тестируете со стандартным шаблонов Joomla? Вообще и на localhost всё должно работать, хотя допускаю, что есть какие-то заморочки при особых настройках.

Насчет "drawWindow из CanvasRenderingContext2D" - не наблюдаю ничего похожего. Вы уверены, что это относится к модулю?
0
Виталий, привет. Итак, продолжаем тему "работает-неработает". На joomla-4 установился прекрасно. Работает все, кроме Блока "Политика обработки персональных данных". В админке модуля поле "выбор статьи" не работает. Также не работает чекбокс при отправке формы. Без чекбокса отправилось нормально. Я покопался в твоем коде, походу нужно исправлять helper.php. Названия файлов, папок и классов в j-4 сильно отличаются от j-3.9.
P.S. Понравился твой обзор joomla-4, увидел на канале в телеграмме. Респект!
0
YuriSEO, спасибо за обратную связь! Включил замечания в список правок.
0
Виталий, приветствую.
Спасибо за модуль.
Хотелось узнать - будет доработка по отправке на сообщения на несколько адресов емейл ?
Или там самому что то допилить можно если не сложно ?
1
Alex, отправить на несколько адресов можно создав промежуточный адрес, на который будут приходить все письма, а дальше с него настроить автоматическую переадресацию на другие адреса. Это будет не очень удобно, если у вас несколько форм и наборы адресов в каждой отличаются. С другой стороны, добавить такой функционал в модуль не так сложно. Я включил данную задачу в список на новую версию. Думаю, внесу это исправление в ближайших обновлениях.
0

Цитирую Wedal:

Alex, отправить на несколько адресов можно создав промежуточный адрес, на который будут приходить все письма, а дальше с него настроить автоматическую переадресацию на другие адреса. Это будет не очень удобно, если у вас несколько форм и наборы адресов в каждой отличаются. С другой стороны, добавить такой функционал в модуль не так сложно. Я включил данную задачу в список на новую версию. Думаю, внесу это исправление в ближайших обновлениях.


Виталий, спасибо за быстрый и обнадеживающий ответ. )
За переадресацию почты - я знаю, но не совсем подходит.
Будем ждать обновления!
Удачи Вам!
0
А форма то не скроллится на мобилках если длинная. А скроллится сайт;
А когда доходит до верха то шапки попАп не видно;
Проверил на 2 сайтах
0
Иван, да, вероятно, вы правы. Обычно форма не такая длинная и это не проблема. Но если у вас форма большая, то чтобы избежать скоролла сайта при открытой форме нужно к body добавлять overflow-y:hidden;. Т.е. уникальный класс с этим стилем. Для этого придется немного модифицировать скрипт формы.
Я включил эту проблему в список задач на исправление. Поправлю в ближайшем обновлении. Спасибо за подсказку.
0
К сожалению программист наемный :( ил динам надо сказать где точно писать это или ждем тогда новую версию :(
0

Цитирую YuriSEO:

Делаю новый сайт на новой Joomla-4. Модуль установился сразу. Сделал три разных формы: две всплывающие - 1.создал для кнопки позицию в шаблоне файл index.php, 2.вставил в модуль через {loadmoduleid}. И еще одну обычную форму обратной связи. Все работает великолепно!
Стиль всплывающего окна немного переделал, в joomla-4 bootstrap5 все красивое конечно, но мне низ и верх модального окна не нужен, считаю излишеством.
Единственное пожелание. Виталий, возможно ли выпилить jQuery и перейти на чистый JS, чтобы не грузить дополнительную библиотеку jQuery?
И большое человеческое спасибо тебе за данный продукт, он действительно самый самый из всех имеющихся джумловских разработок форм.


Здравстсвуйте. А у меня на четверке не стал. Пишет "Unexpected token < in JSON at position 0"
0
Алексей, вот здесь описаны изменения, связанные с генерацией и проверкой токена. Отличие Joomla 4 от Joomla 3: https://docs.joomla.org/How_to_add_CSRF_anti-spoofing_to_forms
Работа с токеном происходит в модуле в 2 файлах: макет формы, которая отправляется и файл helper.php. И там и там по паре строчек. В целом можете подправить, пока не вышло обновление модуля.
0
Здравствуйте!
А можно использовать вашу форму без привязки к модулю? Ну т.е. у меня есть лэндинг дополнительно к основному сайту, сделанный без Joomla и я хотел бы использовать ваш модуль на нем тоже.
Как мне это сделать?)
Спасибо.
P.S. Форма работает хорошо, спасибо за нее!
0
Нет, форма является частью модуля Joomla, который использует API Joomla. Использовать ее без Joomla не получится.
0
Добрый день, а когда будет готова версия для J4 ?
Пора бы сайт обновить, но боюсь что придется с Вашим модулем распрощаться ...
Спасибо
1
Aleksei, уже в процессе, но точно срок не скажу, т.к. очень высокая загруженность.

Обновляться на J4 с J3, на мой взгляд, пока рано. Сейчас точно не стоит, т.к. J3 будет поддерживаться еще довольно долго. А через полгода-год можно будет уже смело обновляться. Там и стабильность J4 будет выше и все разработчики расширений доведут до ума свои продукты в J4.
0

Цитата:

все разработчики расширений доведут до ума свои продукты в J4.

Хотелось бы верить, потому как основной компонент на котором у меня вся работа завязана написан каким то "криворуким" горе-мастером где-то из поднебесной...
Кстати, может быть можно будет нам сработаться на этом вопросе ? ;)
0
Aleksei,

Цитата:

Кстати, может быть можно будет нам сработаться на этом вопросе ? ;)

Может и можно, но тогда придется ждать обновленную версию еще дольше ;-).
0
добрый день! а для Joomla 4 модуль работать будет?
1
Рина, текущая версия модуля работает в Joomla 4 с проблемами. Сейчас я работаю над новой версией для Joomla 4. Там будет много интересного. Но пока не могу дать информацию по срокам релиза. Подписывайтесь на обновления сайта. Как только релиз состоится, вы сразу узнаете об этом.
0
Спасибо, Виталий, буду ждать!
0
Виталий, подскажите.
Хочу использовать в качестве кнопки иконку Font Awesome ну или картинку.
Как это сделать? В поле "Callback button text" нельзя указать тег .
Спасибо
0
Алексей, поле названия кнопки текстовое. Вы можете переопределить макет формы в ваш шаблон, найти в нем кнопку и заменить данные из поля нужной вам иконкой. Если вам нужно иметь разные иконки для разных экземпляров модуля, можно использовать альтернативные макеты для каждого из них, хотя это не очень хорошая идея, как мне кажется...
0
Я некорректно задал вопрос. Как сделать я понимаю. Можно просто вызывать модуль через ссылку.
Я имел ввиду добавить возможность иконки или картинки, в самом модуле. Как пожелание.
Спасибо, модуль понравился.
0
Здравствуй, на Joomla 4.1.5, установил модуль, все хорошо, но не работает чекбокс Согласия на обработку персональных данных, если не включать чекбокс, то отправка формы осуществляется, а если включить его и поставить галочку, то вылазит alert о том что нужно активировать чекбокс и из-за этого естественно форма не отправляется, как с этим быть?
0
Алексей, текущая версия модуля не тестировалась на J4. В разработке обновленная версия, которая будет поддерживать именно Joomla 4. Текущая версия для Joomla 4 обновляться скорее всего не будет, так что есть нужно "здесь и сейчас", можно внести любые правки в нее, не боясь хаков. После выпуска новой версии можно будет просто удалить текущую и установить новую.
0
День добрый,Wedal. Подскажите, пожалуйста в чем проблема?

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)
0
Андрей, скорее всего jQuery UI не подключен или подключен раньше jQuery. Но как это связано в модулем Wedal Joomla Callback?
0
не корректно работает Wedal Joomla Callback, если всплывающее, то при нажатии ничего не происходит, если встроенная, то модуль появляется на странице, но при вводе номера и отправки, опять же ничего не происходит (php mail работает, тестовые сообщения с сайта приходят) вот и пытаюсь понять в чем проблема....подскажите, пожалуйста
--- (в правом углу, всплывающее, с тегом получи бесплатное занятие)
0
Андрей, у вас там туча JS-ошибок в консоли. Также вижу, что помимо jQuery подключен и Mootools. Они могут конфликтовать при использовании вместе в некоторых случаях. На ссылке вызова всплывающего окна модуля вообще не вижу обработчик запуска при клике, хотя скрипт модуля подключен на странице. Возможно проблема происходит от одной из ошибок, которые возникают в шаблоне. Посмотреть ошибки можно, открыв вкладку "Консоль" в веб-инспекторе, который, в свою очередь, запускается клавишей F12 в браузере, на странице сайта.
0
Все работает на php 7.4 joomla 4.2 и не работает на php 8 при отправке бесконечно крутящееся колесо. С ходу ошибка в helper.php 88. $moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx'), ENT_COMPAT, 'UTF-8'); лечится htmlspecialchars($params->get('moduleclass_sfx', ''), хороший модуль, но с ноября php 8
0
RT, спасибо. Внесу исправление в ближайшем обновлении.
0
Здравствуйте.
Спасибо вам за прекрасный модуль!
На джумле 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
Исправьте, пожалуйста)
0
Наталья, для Joomla 4 практически готова обновленная версия модуля Wedal Joomla Callback 2. Это даже не обновление, а практически новое расширение, основанное на тех же принципах. Код в нем переписан практически полностью. Добавлено много нового, полезного. Из особенностей: поддержка только Joomla 4, поддержка PHP8.

За время существования первой версии модуля было много замечаний и предложений от пользователей, я собирал их все и сейчас стараюсь закрыть полностью в новой версии. Осталось совсем немного. Релиз должен быть скорее всего на этой или на следующей неделе - точно до Нового Года.

Вы можете уже сейчас использовать новый модуль. Я бы сказал, что он в статусе beta из-за того, что еще не добавлено несколько новых функций. Но все базовые и новые встроенные возможности он уже исполняет стабильно.

Можете скачать и попробовать:
https://github.com/wedal/mod_wedal_joomla_callback/archive/refs/heads/dev.zip

Еще раз: поддерживается только Joomla 4+.
0
Скачала и попробовала, но выдает предупреждение Deprecated: htmlspecialchars(): Passing null to parameter #1 ($string) of type string is deprecated in modules\mod_wedal_joomla_callback\src\Helper\WedalJoomlaCallbackHelper.php on line 54
0
Наталья, видимо у вас PHP 8.1+. Я внес правку. Больше это предупреждение показываться не должно. Перекачайте модуль по той же ссылке и установите поверх уже установленного или заново. Напишите результат, пожалуйста.
0
Скачала модуль по той же ссылке и установила поверх уже установленного, все работает, никаких ошибок и предупреждений нет.
Огромное спасибо за ваш труд!
0
Спасибо за модуль ! Очень выручает. Только вопрос. А как поставить Яндекс цели ?
И хотелось бы на каждую форму и кнопку свои цели..
0
Иван, в текущей версии модуля, есть 2 варианта:

1) Через свой JS-код. Отлавливаете клик по кнопке, определяете у ее родителя ID-модуля или то, что нужно, чтобы идентифицировать форму для метрики. Отправляете эти данные в метрику.

2) Через альтернативные макеты. Создаете для каждого модуля альтернативный макет (той части, в которую хотите добавить цели, например, макет кнопки вызова формы). Выбираете разные макеты для разных экземпляров модуля, в разных макетах задаете разные цели.

Оба этих варианта не самые простые/удобные. В Wedal Joomla Callback 2 я постараюсь добавить настройку в админке, которая будет задавать цели.
0
Спасибо ! Через макеты сделал, все просто. !
Но в идеале бы в настройках включать )))
0
Иван, Wedal Joomla Callback 2 выпущен. Теперь вы можете использовать функционал установки целей, доступный из коробки. Правда это доступно только в Joomla 4, как и сам модуль.
0
Приветствую!
Прекрасный модуль!
Единственное, чего не хватает, на мой взгляд - это нельзя по умолчанию сделать чекбокс согласия отмеченным. Было бы неплохо увидеть такую опцию в будущем.
0
Денис, для этого в модуле есть настройка, позволяющая вообще отключить чекбокс и показывать только текст вроде "Отправляя форму я соглашаюсь с...". Мне кажется, это более логичная аналогия активированного по умолчанию чекбокса.
0
Форма не отправляет информацию на указанный адрес...
В чем может быть проблема, куда капать, подскажите...?
Сайт на Joomla 5
0
Максим, зайдите в общие настройки Joomla. Там есть настройки почты. И там же есть кнопка отправки тестового сообщения. Нажмите ее. Проверьте, пришло ли письмо. Если нет, то дело в настройках почты сайта, не модуля.