Модуль распространяется бесплатно. Он прост в установке и настройке. Теперь вы можете получить отличную контактную форму на сайте всего в несколько кликов.
Модуль Wedal Joomla Callback – Всплывающая Форма Обратной Связи

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

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

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

Политика обработки персональных данных

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

Все настройки Wedal Joomla Callback вы можете видеть на рисунке:

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

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

Как я писал выше, вы можете создать несколько копий модуля в админке и задать для них разные настройки, а вывести на одной странице. Это тоже будет работать.

Несколько модулей на одной странице:

Несколько модулей на одной странице

Несколько модулей на одной странице

Несколько модулей на одной странице

И конечно, вы можете вставить один или несколько модулей обратной связи в любую статью, и это тоже будет работать!

Распространение модуля Wedal Joomla Callback

Модуль всплывающей формы обратной связи Wedal Joomla Callback  распространяется по лицензии GPL. Это означает, что вы можете бесплатно скачивать и использовать его на любых сайтах.

В модуле нет скрытых ссылок и прочих «радостей» пиратского софта. Код модуля полностью открыт, и вы можете сами посмотреть его.

Скачать Wedal Joomla Callback

Wedal Joomla Callback имеет свой репозиторий на Github и поддерживает обновления прямо оттуда.

Вы можете скачать модуль по этой ссылке.

Надеюсь, что данный модуль окажется полезным для вас и ваших проектов.

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

Внимание! В версии 1.1.4 исправлена ошибка, связанная с привязкой модуля только к некоторым пунктам меню. В это версии были частично изменены макеты вывода форм. Если вы использовали модуль верси 1.1.3 или ниже с переопределенными в шаблон макетами, пожалуйста, актуализируйте их, сравнив с оригинальными (список изменений можно посмотреть здесь).

Об авторе
Об авторе
Wedal (Виталий). Веб-разработчик полного цикла (Full Stack). Создатель и автор сайта Wedal.ru.
Основной профиль – создание сайтов и расширений на CMS Joomla.

Понравилась статья? Сохраните себе на стену:

Ваша оценка материала очень важна для нас. Просим вас оценить статью или оставить отзыв в комментариях.

Добавить комментарий

Для отправки комментария введите код с картинки:
Защитный код
Обновить

Комментарии  

+1 # Лаптев Михайлович 16.11.2018 10:38
А хде дэмо модуля?!)
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 17.11.2018 04:19
Лаптев Михайлович, пока только на картинках. Руки еще не дошли. Там больше особенно нечего демонстрировать. Можете установить модуль на любой сайт и посмотреть в живую. Ничего настраивать не нужно. Опубликуйте его в любой позиции и увидите в работе.
Ответить | Ответить с цитатой | Цитировать
+1 # Александр Чернов 18.11.2018 02:33
Виталий, здравствуйте!

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

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

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

Удачи вам, Виталий!
Ответить | Ответить с цитатой | Цитировать
+2 # Wedal 19.11.2018 07:02
Александр,

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

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

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

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

Я внесу возможность публикации предупреждения о сборе персональных данных отдельной опцией. А пока вы можете просто добавить ссылку в макет формы, предварительно переопределив его в шаблон Joomla.
Ответить | Ответить с цитатой | Цитировать
0 # Александр Чернов 25.11.2018 22:11
Благодарю, Виталий, за развёрнутый ответ т готовность изменить модуль.
Да, я с Вами полностью согласен о засилье в Сети дурацких законов - как, к примеру, я могу идентифицировать человека лишь по адресу Email - для меня, как для нормального человека до сих пор остаётся загадкой.
НО "благодаря" этому закону, пришлось регистрироваться в РКН как оператору ПД - а это идиотизм уже высшей категории, поскольку требования, предъявляемые к операторам, в частности, к физлицам, это просто нонсенс.
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 29.08.2019 07:03
Александр, чекбокс согласия с обработкой персональных данных добавлен в модуль в версии 1.1.2.
Ответить | Ответить с цитатой | Цитировать
0 # ALEHAN 18.11.2018 06:23
Виталий. После нажатия на кнопку появляется крутящееся кольцо и ничего не происходит. В консоли обнаружил ошибку "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)"
Как исправить? Не подскажете?
Ответить | Ответить с цитатой | Цитировать
0 # ALEHAN 19.11.2018 06:39
Разобрался. Проблем была в "тонком" jQuery. Погуглив узнал, что в нем убраны обработчики ajax. Подключил полный jQuery, заработало.
Ответить | Ответить с цитатой | Цитировать
+1 # Константин 07.12.2018 22:04
Установил ваш модуль на J 3.9.1, модуль вывелся, кликаю на кнопку, всплывает окно, но в теге Modal-body пусто, поля не подгружаются, в чем может быть причина? Спасибо
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 10.12.2018 03:31
Константин, проверил на J 3.9.1 - всё работает. Я думаю, форма не подгружается , поскольку у вас на сайте используется jQuery Slim. В этой версии jQuery нет функции, которая подгружает форму. Замените Slim-версию на стандартную jQuery и всё должно заработать. Прежде, чем менять, проверьте работоспособность на стандартном шаблоне Joomla. Если форма появится, то дело скорее всего в jQuery Slim.
Ответить | Ответить с цитатой | Цитировать
0 # Юрий 12.12.2018 11:21
Здравствуйте, Виталий

Возможно ли добавлять свои поля в форму? Например, название организации...
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 13.12.2018 04:50
Юрий, к сожалению, нет. Точнее, если вы немного разбираетесь в коде, то можете добавить свои поля по образу уже существующих, но это будет хак модуля.
Ответить | Ответить с цитатой | Цитировать
0 # Лада 16.01.2019 04:57
Спасибо огромное ! ваш модуль-то, что мне нужно, просто находка. Просто фраза без раздражающих всплывающих кричащих кнопок. У меня все работает.
Ответить | Ответить с цитатой | Цитировать
0 # Андрей 16.01.2019 11:57
А как по ссылке открыть такое окно обратной связи? Например, чтобы под кнопку в PageBuilder положить?
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 17.01.2019 03:52
Андрей, чтобы скрипт открыл правильную форму, ему нужно знать ID модуля. В статье есть пример кода, который вызывает модуль. Т.е. вы можете сделать так:
1) Опубликовать модуль в какой-нибудь видимой позиции на сайте.
2) Скопировать html-код вызова модуля (3 строчки, вроде тех, которые показаны в статье)
3) Разместить код вызова модуля в PageBuilder
4) Перенести модуль в скрытую, но существующую позицию.
Но это в теории. На практике я не пробовал такой фокус.

А что мешает вам вывести модуль прямо в PageBuilder? Ведь он выведет только эти же 3 строчки кода.
Ответить | Ответить с цитатой | Цитировать
0 # alex 26.01.2019 12:47
Установил себе на сайт, но не подгружаются поля. Заметил особенность зависит от позиции, если просто публикую модуль в позиции шаблона, но поля подгруужаются и письмо отправляется. Проблема возникает в тот момент, когда публикую код в компоненте html, так поля не подгружаются:

Заказать


В чем может быть проблема?
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 28.01.2019 04:56
alex, что такое "компонент html" ?
Ответить | Ответить с цитатой | Цитировать
0 # alex 28.01.2019 16:26
Модуль типа custom. Туда я вставляю код Код:<div id="WJC102" data-id="102" class="wjcallback ">
<a class="wjcallback-link" href="#">Заказать</a>
</div>
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 29.01.2019 14:36
alex, недостаточно просто вставить этот код. Важно еще опубликовать модуль. Его можно скрыть визуально, но он должен быть опубликован на сайте, т.к. в нем подгружаются скрипты, необходимые для работы формы.
Ответить | Ответить с цитатой | Цитировать
0 # Ветал 08.02.2019 11:30
500 ошибка при отображении модуля
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 11.02.2019 11:36
Ветал, ошибка 500 означает, что есть какая-то ошибка PHP (вероятно), но она не показывается пользователям по соображениям безопасности (так настроен ваш сервер). Посмотрите по логам, какая именно ошибка у вас выводится, напишите сюда, я помогу.
Ответить | Ответить с цитатой | Цитировать
0 # Sergiy 14.02.2019 10:21
Доброго. В письме будет адрес страницы с которой была отправка формы если модуль опубликовать на всех страницах?
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 15.02.2019 04:15
Sergiy, по умолчанию такой возможности нет, но ее можно легко добавить. Для этого нужно переопределить макет письма ( modules/mod_wedal_joomla_callback/tmpl/default_message.php) в используемый шаблон Joomla (/templates/ваш_шаблон/html/mod_wedal_joomla_callback/default_message.php) и добавить в него вывод URL текущей страницы.
Ответить | Ответить с цитатой | Цитировать
0 # Юрий 16.02.2019 07:37
Здравствуте! Не выводится форма. Вот такой код в модуле:
Код: &nbsp; Внимание: Запишитесь на встречу с одним из наших профессиональных консультантовЗамер, просчет, изготовление, логистика, доставка и постгарантийное обслуживание.<br />Контакты
Что не правильно?
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 20.02.2019 08:19
Юрий, пришлите ссылку, где можно посмотреть в живую.
Ответить | Ответить с цитатой | Цитировать
0 # Андрей 07.04.2019 11:57
Здравствуйте!
Джумла 3.9, установил модуль, опубликовал, появилась надпись (в настройках написал "Свяжитесь с нами", настроил поля) с линком.
При нажатии на линк открывается окно с надписью "Заказать обратный звонок" без полей для заполнения.
В индексном файле шаблона подключил jquery 3.3.1
Ощущение, что срабатывает что-то по умолчанию.
Сайт закрыт, но если нужно посмотреть - открою
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 08.04.2019 13:38
Андрей, jquery не slim? Нужна полная версия. Если нет, то дайте ссылку на живой пример - посмотрю.
Ответить | Ответить с цитатой | Цитировать
0 # Иван 20.05.2019 12:54
На локальном серваке не работает, если сайты в поддоменах сервака. Ссылки наверно относительные указаны.

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

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

Остальное буду дорабатывать по мере возможности.
Ответить | Ответить с цитатой | Цитировать
0 # Дмитрий 04.06.2019 10:13
Виталий, здравствуйте. Подскажите, пожалуйста, какие файлы в модуле нужно редактировать чтобы добавлять другие поля? Очень нужно.
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 05.06.2019 15:11
Дмитрий, почти все. Точно: xml-файл манифеста, хелпер, макеты, файл скриптов, языковые файлы.

Если необходимо, я могу доработать модуль конкретно под ваши нужды за отдельную плату.
Ответить | Ответить с цитатой | Цитировать
0 # Сергей 28.06.2019 08:27
Здравствуйте, Виталий!
У меня сайт на Yootheme Pro (test.rem-parts.ru),
Установил Ваш модуль обратной связи и пробую вставить его через "вставку модуля":
{loadmoduleid 103}

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

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


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

Заказать


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

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

Заказать

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

Заказать


на


Заказать


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

Автор если что подправите меня. Спасибо!
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 08.07.2019 10:38
Владимир, в комментариях вырезается код. Для вставки кода используйте, пожалуйста, специальный тег (последний в списке тегов комментариев). Было бы здорово, если бы вы отредактировали ваш комментарий, восстановив код. Он может быть многим полезен.
Ответить | Ответить с цитатой | Цитировать
0 # Владимир 08.07.2019 12:02
Понял ) Редактирую.
Во-первых Большое спасибо автору за бесплатный Модуль 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 # Форест 09.08.2019 07:07
У меня на сайте ваш модуль не работает. При активации button «Отправить» появляется бесконечный Preloader и письмо не отправляется. Ошибок, в панели разработчика, НЕТ! Пожалел, что убил полчаса своей жизни на бесплатно-сырой модуль. Как вы думаете, уважаемый, зачем мы скачиваем ваш модуль, когда он не выдерживает конкуренции, например с бесплатным КОМПОНЕНТОМ «Joomly Callback»?
Ответить | Ответить с цитатой | Цитировать
+1 # Wedal 09.08.2019 07:57
Форест, давайте попробуем разобраться с вашим вопросом.

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

Ну а насчет того, чем модуль лучше... Уже хотя бы тем, что не компонент. Легче, быстрее, проще.
Ответить | Ответить с цитатой | Цитировать
0 # Самсон 06.09.2019 19:07
Модуль не работает. Я думаю автор это и сам знает. Если бы модуль работал, по крайне мере была бы подробная инструкция о том как его устанавливать и описание, что такое id и id-data. Я не понимаю зачем людям голову морочить?
Ответить | Ответить с цитатой | Цитировать
+1 # Wedal 09.09.2019 07:18
Самсон, я вот тоже не понимаю - зачем? Заморочился, написал неработающий модуль, статью, выпускаю обновления. Это всё заговор мировых правительств =).

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

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

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

Напишите, что именно у вас не работает, или, еще лучше, дайте ссылку на живой пример. Я постараюсь помочь разобраться с проблемой.
Ответить | Ответить с цитатой | Цитировать
+1 # Guest 09.09.2019 09:18
Подтверждаю модуль рабочий на 100% Просто у некоторых знаний не хватает или руки не из того места растут )))
Ответить | Ответить с цитатой | Цитировать
0 # Александр 16.09.2019 12:57
День добрый!
При выборе поля для комментария без его обязательности, это поле не появляется на фронте вообще.
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 18.09.2019 06:52
Александр, спасибо, что написали. Да, это был баг. Исправил и выпустил обновление. Обновитесь до версии 1.1.3.
Ответить | Ответить с цитатой | Цитировать
0 # Александр 18.09.2019 11:16
День добрый!
Во всплывающем окне при включении показа ошибок есть вот такое : Notice: Undefined variable: formtitle in /...../modules/mod_wedal_joomla_callback/tmpl/default_popupform.php on line 10
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 23.09.2019 09:21
Александр, не страшно (это просто предупреждение о том, что переменная не определена, на работу модуля никак не влияет), но да, нужно я добавлю доп. проверку в код, чтобы это не показывалось. Чтобы быстро скрыть предупреждение, вы можете отключить отображение ошибок в общих настройках Joomla.
Ответить | Ответить с цитатой | Цитировать
0 # Александр 18.09.2019 11:23
По поводу вывода кнопки, не совсем правильно ! Выводит ссылку на форму, кнопки то там нет. При обновлении слетели все CSS изменения сделанные мной под свой сайт, а это не комильфо!
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 23.09.2019 09:24
Александр, кнопка, в данном случае, это то же самое, что и ссылка. Разница только в оформлении.

Стили у вас слетели при обновлении вероятно потому, что вы добавляли их в CSS-файл модуля. Этого делать нельзя, это хак. При обновлении все файлы модуля перезаписываются новыми и ваши изменения стираются. Правильно добавлять ваши CSS-стили в используемый шаблон Joomla, в один из его CSS-файлов. При этом стили всё равно будут применяться к модулю, но при его обновлении не потеряются.
Ответить | Ответить с цитатой | Цитировать
0 # Guest 29.09.2019 10:41
при создании модуля со встроенной формой-отправляет письмо с пустым содержимым.я проверил по коду-$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-ba ckground":"","module-specical-title":"0","module-full-width":"0"}
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 30.09.2019 04:18
Guest, перепроверил работу встроенного модуля с указанными настройками. У меня письма приходят нормально.

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

Также попробуйте отключить кэширование модуля, если у вас включено кэширование сайта в общих настройках.
Ответить | Ответить с цитатой | Цитировать
0 # Guest 30.09.2019 13:27
кеширование на сайте выключено
версия 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 # Wedal 01.10.2019 06:28
Guest, Вы не изменяли код модуля? Посмотрите, что выводит переменная $module после строки:
$module = ModWedalJoomlaCallbackHelper::getModuleById($moduleId);
Ответить | Ответить с цитатой | Цитировать
0 # Guest 01.10.2019 11:45
не изменял
возвращает bool(false)
Ответить | Ответить с цитатой | Цитировать
0 # Guest 02.10.2019 01:56
что-то вырисовалось.в методе getModuleById я посмотрел что возвращает $modules = JModuleHelper::getModuleList();
оказалось такая интересная ситуация:сайт у меня на 3-х языках.сразу оговорюсь,проблема одинакова для всех языков.
так вот,в каждом языке есть 3 модуля.один всплывающий,есть на всех страницах.второй встроенный,есть только на главной.третий встроенный,есть везде,КРОМЕ главной.
первый и третий работают,а вот второй-нет.и вот как-раз в выше упомянутом методе приходят один раз всплывающий модуль(всё верно),и ТРИ РАЗА встроенный модуль,но не тот что под номером 2,а тот что под номером 3,которого на главной вообще нет(и его действительно на странице нет).а вот модуль,который есть на этой странице-не приходит вообще.
если в админке отключить модуль 3,то только модуль 1 остаётся в списке(всплывающий),хотя физически на странице модуль есть.
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 03.10.2019 07:44
Guest, я, кажется, понял, в чем тут соль. Фокус в привязке модулей к отдельным страницам. Модуль вызывается по AJAX и в вызове не передается Itemid страницы вызова (условно - той страницы, к которой модуль привязан, в вашем случае - Главной). Поэтому Joomla думает, что список модулей запрошен не с главной страницы а с другой. В результате она возвращает 2 модуля, которые привязаны к другой странице (= все, кроме главной).
Я даже не думал в этом ключе, когда делал модуль. Нужно будет внести правку, при которой как-то учитывать привязанные пункты меню при вызове через AJAX.
У вас же пока решение очень простое: сделайте привязку всех экземпляров модуля ко всем страницам и всё будет работать.
Если нужно скрыть модуль на всех страницах, кроме главной, задайте для него по умолчанию display: none; , а на главной переопределите через какой-нибудь уникальный класс на display:block;. Пока только так.
Ответить | Ответить с цитатой | Цитировать
0 # Юрий 21.10.2019 23:25
Кнопка "заказать обратный звонок" выводит пустую форму. Форма появляется, если модуль опубликован на всех страницах, по иному - никак. Виталий, исправляйся :)
Ответить | Ответить с цитатой | Цитировать
+2 # Wedal 22.10.2019 05:35
Юрий, да, такая проблема есть. В статье информация о ней выделена синим. Исправлю в ближайшем обновлении.
Ответить | Ответить с цитатой | Цитировать
+1 # Wedal 22.10.2019 06:27
Выпущено обновление 1.1.4. В версии 1.1.4 исправлена ошибка, связанная с привязкой модуля только к некоторым пунктам меню. В это версии были частично изменены макеты вывода форм. Если вы использовали модуль верси 1.1.3 или ниже с переопределенными в шаблон макетами, пожалуйста, актуализируйте их, сравнив с оригинальными (список изменений можно посмотреть здесь: https://github.com/wedal/mod_wedal_joomla_callback/commit/abfa992d7cc53dc5baaa653ed3fab07c7f93b4a2).
Ответить | Ответить с цитатой | Цитировать
0 # djbu 29.10.2019 11:48
Модуль классный, спасибо автору!

Вопрос есть: как сделать так чтобы при ответе на письмо подставлялся адрес посетителя? Сейчас при ответе если не обратить внимание письмо отправляется на адрес сайта
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 30.10.2019 09:33
djbu, можно, но это будет хак модуля. Если решите сделать, отредактируйте файл helper.php в той части, где идет отправка письма. В правильной настройке вам помогут эти материалы:
https://docs.joomla.org/Sending_email_from_extensions
https://api.joomla.org/cms-3/classes/Joomla.CMS.Mail.Mail.html

Но еще раз: это хак. Он будет стерт при обновлении модуля.
Я изучу этот вопрос и, возможно, внесу правку в следующем обновлении.
Ответить | Ответить с цитатой | Цитировать