В этой статье я расскажу о том, как создать форму обратной связи, защищенную от спама, с помощью стандартных средств Joomla.
Создание формы обратной связи стандартными средствами Joomla.

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

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

Помимо стандартной формы обратной связи советую попробовать мой модуль Wedal Joomla Callback. Он бесплатен и позволяет загружать и отправлять форму обратной связи без перезагрузки страницы.

Создание формы обратной средствами Joomla. Компонент «Контакты».

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

В Joomla есть стандартный компонент с названием «Контакты». Легко понять, что он позволяет показать на сайте список контактов владельцев сайта, менеджеров и.т.д. Вы скажете: «Ну и зачем разбираться с целым компонентом, если можно просто создать статью, указав в ней необходимые контактные данные?». Во многом вы будете правы. Но, к сожалению, поступив именно так, вы никогда не узнаете, что компонент «Контакты» позволяет создать отдельную форму обратной связи для каждого контактного лица. Уже интереснее?

На сайте Wedal.ru вы можете увидеть пример такой формы:

joomla-feedback-form

Как видите, все необходимое для связи имеется. Этой формой посетители пользуются достаточно часто. Как ее создать?

Компонент «Контакты». Добавление контакта.

Переходим в «Компоненты» –> «Контакты» и добавляем новый контакт.

Появится следующая форма:

joomla-feedback-form

Здесь вы указываете имя контакта, и выбираете пользователя, который будет связан с контактом. Обычно это администратор.

В поле «Дополнительная информация» можете указать какой-то текст, который требуется показать на странице контакта.

Во вкладке «Детали контакта» не заполняем ничего.

joomla-feedback-form

Во вкладке «Настройки отображения» скрываем все лишнее:

joomla-feedback-form

Во вкладке «Форма обратной связи» показываем форму:

joomla-feedback-form

Сохраняем.

Компонент «Контакты». Добавление пункта меню контакта.

После того, как контакт создан, необходимо показать его на сайте. Для этого создаем в меню пункт «Контакты» или «Обратная связь» и выбираем для него тип «Контакты» –> «Контакт»:

joomla-feedback-form

После этого в появившейся справа форме выбираем созданный нами контакт:

joomla-feedback-form

И сохраняем.

На этом все. Можно смотреть на нашу форму на сайте.

Важно! Обязательно проверьте работоспособность полученной формы обратной связи. Иногда, из-за неправильных настроек отправления писем, почта не отправляется. Это ошибка не формы контактов, а настроек Joomla по работе с почтой (смотрите общие настройки Joomla).

Создание формы обратной средствами Joomla. Защита от спама.

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

Как защитить форму обратной связи от спама? В Joomla 2.5 имеется поддержка наверное самой лучшей капчи(код с картинки) reCAPTCHA. Алгоритм ее активации следующий:

1) Получение ключей. Чтобы получить ключи активации, нужно перейти на страницу http://www.google.com/recaptcha/whyrecaptcha и нажать кнопку «Sign Up Now». Вам будет предложено авторизоваться в аккаунте Google(сервис reCaptcha принадлежит Google). Если такового нет, то придется зарегистрировать. После авторизации вас попросят ввести адрес сайта:

joomla-feedback-form

И после этого будут сгенерированы два ключа.

Вся процедура получения ключей и пользования ими бесплатна.

2) Идем в менеджер плагинов сайта и находим там плагин «CAPTCHA - reCAPTCHA».

В его настройках видим поля для ввода ключей:

joomla-feedback-form

Вводим ключи, активируем плагин и сохраняем его.

3) Переходим в компонент контактов и открываем настройки:

joomla-feedback-form

joomla-feedback-form

В опции «Включить CAPTCHA» выбираем «CAPTCHA - reCAPTCHA». Сохраняем. Готово. Теперь капча появится в нашей форме обратной связи.

Кстати, reCAPTCHA может использоваться не только в форме обратной связи, но и при регистрации пользователей (активируется в настройках менеджера пользователей).

На этом всё. Потратив 5 минут, можно создать простую и удобную форму обратной связи для вашего Joomla-сайта, не прибегая к использованию сторонних расширений.

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

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

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

Комментарии  

+1 # VARion 25.02.2013 11:41
Виталий, спасибо за статью! А возможно как-то переопределить шаблон формы, чтобы свои поля добавить?
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 26.02.2013 02:27
VARion, переопределить конечно возможно. Поля добавить тоже. А вот обработать их... Не знаю, не пробовал.
Ответить | Ответить с цитатой | Цитировать
0 # Иван 01.03.2019 11:21
Помню когда-то плагинов для форм мало было, не все подходили и приходилось с кастомными мучится. Зато сейчас всякого добра полно. Сам использую extensions.joomla.org/extension/ucalc/ что избавляет меня вообще лезть в исходный код.
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 04.03.2019 06:46
Иван, зачем использовать платный модуль, когда есть большое количество хороших бесплатных, не говоря уже про стандартную форму обратной связи?
Ответить | Ответить с цитатой | Цитировать
+3 # Игорь 09.08.2019 07:53
Судя по отзывам в интернете, плагин и сам сервис неплохой. Для простых форм я больше код предпочитаю. А для чуть посложней и когда времени нет использую stepFORM. Есть еще какие-то платные плагины, но они по сути не стоят своей цены, тем более когда бесплатное есть.
Ответить | Ответить с цитатой | Цитировать
+1 # Михаил 23.08.2019 10:00
Цитирую Игорь:
Судя по отзывам в интернете, плагин и сам сервис неплохой. Для простых форм я больше код предпочитаю. А для чуть посложней и когда времени нет использую stepFORM. Есть еще какие-то платные плагины, но они по сути не стоят своей цены, тем более когда бесплатное есть.


Да стандартными средствами если делать формы на джумле, то ничуть не хуже выходит. А что за сервис такой, это английский или вот этот stepform.io/ru ? Посмотрел, написано интересно на лендинге, а там неизвестно как.
Ответить | Ответить с цитатой | Цитировать
0 # Антон 09.09.2019 13:27
Есть и плагин от них https://extensions.joomla.org/extension/stepform/ На самом сервисе собираешь и в джумле в странице там из списка нужная форма выбирается, втыкаешь shortcode. Как по мне, так удобней, чем код постоянно добавлять на страницу.
Ответить | Ответить с цитатой | Цитировать
-1 # xerox21 27.02.2013 06:06
Неплохо, но данный способ пригоден только для создания простейших форм обратной связи. В этом плане мне больше импонирует компонент RSform! - гибкий до безобразия))) Единственный минус - платный, но, к счастью, стоит не так дорого.
Ответить | Ответить с цитатой | Цитировать
+1 # VARion 27.02.2013 06:19
Цитирую xerox21:
к счастью, стоит не так дорого.

Весь вопрос с чем сравнивать, если у них лицензия на год для неограниченного использования стоит 99€ тогда как, например, у Rockettheme за ВСЕ компоненты также на год стоит 30$. Я конечно не пробовал его, может он того и стоит.
Ответить | Ответить с цитатой | Цитировать
0 # xerox21 27.02.2013 07:00
Ну так, на проект достаточно и за 19 евриков)))
Ответить | Ответить с цитатой | Цитировать
-1 # Wedal 28.02.2013 02:40
Гм... А зачем платить, если можно взять, например, бесплатный ChronoForms?
Ответить | Ответить с цитатой | Цитировать
-1 # xerox21 28.02.2013 05:32
Очень странный вопрос. Платить нужно когда бесплатный ChronoForms не совсем устраивает))) В последнее время решил для себя, что во многих случаях лучше платить за расширения.
Ответить | Ответить с цитатой | Цитировать
0 # VARion 28.02.2013 12:14
Если продукт стоящий, то почему бы и не заплатить за его работу. Меня смутила просто разница в цене относительно других подписок на расширения.
Ответить | Ответить с цитатой | Цитировать
0 # VARion 28.02.2013 12:21
Я последнее время для форм использую свою наработку. Только для её работы требуется компонент Jumi. Руками редактирую нужные поля, т.е. у меня всё под контролем: html, php, css, js. Решение правда требует знаний, но зато ничем не ограничен. В частности, прикручивал к нему например календарь JQuery(jqueryui.com/datepicker/)
Ответить | Ответить с цитатой | Цитировать
0 # dmitroff 18.03.2013 09:24
Здравствуйте.
Подскажите в каком файле можно править текст: Отправить сообщение. Все поля, отмеченные звездочкой, являются обязательными.
Спасибо!
Ответить | Ответить с цитатой | Цитировать
+1 # Wedal 19.03.2013 02:05
dmitroff, в Joomla есть очень удобная штука. "Менеджер языков" - "Переопределение констант". Позволяет из админки изменить любой текст на сайте.
Ответить | Ответить с цитатой | Цитировать
+9 # СергейИИ 29.03.2013 09:52
А куда письма приходят с этой формы?
Ответить | Ответить с цитатой | Цитировать
+1 # DeeR 29.03.2013 14:07
Создала форму на сайте стандартными средствами, но она почему то отображается на английском. В чем может быть проблема?
Ответить | Ответить с цитатой | Цитировать
-1 # alex1 03.04.2013 15:49
Как?/Возможно ли - показывать эту форму в модальном окне?
Ответить | Ответить с цитатой | Цитировать
-2 # Wedal 04.04.2013 03:04
alex1, да, возможно. По алгоритму, описанному здесь:

http://wedal.ru/rasshireniya-joomla/virtuemart-internet-magazin-na-joomla-chast-30-facebox-for-virtuemart-flypage.html

только применительно к странице формы обратной связи.
Ответить | Ответить с цитатой | Цитировать
-1 # alex1 04.04.2013 10:22
Спасибо за ответ!
Шаблон формы – это он? Joomla! 2.5.9
\components\com_contact\views\contact\tmpl\default.php
Строчка, которая выводит ссылку на страницу, строка 32 с кодом
php echo $contactLink
/Код не пишу, все равно при сохранении вырежется/
Ответить | Ответить с цитатой | Цитировать
0 # alex1 04.04.2013 11:05
Еще вопрос
Как прописать, чтобы после отправки формы, всплывающее окно само закрылось?
Или оно и так, само закроется?
Ответить | Ответить с цитатой | Цитировать
0 # alex1 05.04.2013 18:24
- Форму во всплывающее окно вставил, НО не могу найти, какой файл шаблона формы править, чтобы прописать &tmpl=component
- Если ошибка при заполнении формы – выбрасывает на сайт с системным сообщением
- Спасибо за соообщение – выбрасывает на сайт с системным сообщением
- Как автоматически закрыть окно после удачной отправки?
Спасибо.
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 08.04.2013 03:17
alex1,
1) Если ссылка на форму есть пункт меню, то нужно делать его типа "внешний URL" и добавлять в основному URL &tmpl=component.
2) Нужно ковырять файл формы, пытаясь добавить этот же &tmpl=component или вернуть на текущую страницу.
3) Аналогично 2
4) И как тогда пользователь узнает об удачной отправке?
Ответить | Ответить с цитатой | Цитировать
0 # alex1 08.04.2013 10:44
Цитата:
2) Нужно ковырять файл формы, пытаясь добавить этот же &tmpl=component или вернуть на текущую страницу.
Какой файл ковырять? Где добавить? Сам не нашел, чтобы ПРАВИЛЬНО добавить.
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 09.04.2013 01:58
alex1, вы выше уже писали:
\components\com_contact\views\contact\tmpl\default.php
Ответить | Ответить с цитатой | Цитировать
+2 # alex1 09.04.2013 19:49
НЕ нашел в какой строке добавить!
Ответить | Ответить с цитатой | Цитировать
+2 # Ленар 10.04.2013 09:47
как сделать, чтобы дополнительная информация введенная в редакторе выходила до формы отправки сообщения в стандартном шаблоне RSMetro? Спасибо.
Ответить | Ответить с цитатой | Цитировать
0 # Klonin 13.05.2013 15:26
Доброго времени суток!
Спасибо за статью, помогла наглядно. Один вопрос: необходимо поменять строку "Тема" на "Телефон"
ни как не могу найти где :(
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 14.05.2013 01:50
Klonin,
Расширения - менеджер языков - переопределение констант. Там разберетесь.
Ответить | Ответить с цитатой | Цитировать
-1 # wintertag 27.05.2013 16:05
подскажите, пожалуйста, хочу поставить вместо стандартной кнопки "Отправить сообщение" - другую с типом "image" - картинка.
В файле, где есть ссылка на эту кнопку не получается заменить ее. Подскажите, может быть не там ищу...
Ответить | Ответить с цитатой | Цитировать
+1 # Wedal 28.05.2013 07:20
wintertag, для этого не нужно ничего менять в шаблонах. Только CSS. Добавьте нужную вам картинку background'ом. Отключите все стили для текущей кнопки. Сделайте текст прозрачным или сдвиньте его за пределы экрана.
Ответить | Ответить с цитатой | Цитировать
0 # d9k 13.06.2013 23:24
Здравствуйте, ув. Wedal!
Давно читаю ваши статьи и хочу задать вопрос:
Насколько я помню, у вас раньше были тэги, прикреплённые к статьям. Если были, то почему вы от них отказались, ну а если я путаю, всё равно посоветуйте хороший проверенный плагин для такой фунциональности)
И ещё: какой плагин используете для иконок шаринга статеями? Заранее спасибо)
Ответить | Ответить с цитатой | Цитировать
+1 # Wedal 14.06.2013 06:35
d9k, вообще, данные вопросы совершенно не относятся к теме статьи. Нужно задавать их на форуме. Отвечу в качестве исключения.

Теги есть и работают, правда в статьях не показываются, но в остальном все также. Компонент, который используется... он есть только для Joomla 1.6. Дальше я доделывал сам. Вообще, на Joomla 2.5 нормальных компонентов тегов я не знаю. В Joomla 3.1 прекрасный компонент тегов от разработчиков встроен по умолчанию.

Шаринг статей: http://api.yandex.ru/share/
Ответить | Ответить с цитатой | Цитировать
0 # d9k 14.06.2013 14:44
Спасибо, буду знать)
Ответить | Ответить с цитатой | Цитировать
0 # Вика 18.06.2013 05:27
Спасибо большое за статью, форма установилась на странице контактов, а мне хотелось бы поставить ее на каждой странице сайта. Скажите, пожалуйста, это возможно?
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 19.06.2013 03:15
Вика, можно добавить просто ссылку на страницу контактов. Если же хочется именно форму, то создайте модуль и добавьте в него Iframe со ссылкой на эту страницу. К ссылку добавьте &tmpl=component .
По умолчанию Iframe будет вырезан из редактора. Вставляйте без редактора.
Ответить | Ответить с цитатой | Цитировать
+1 # dialod 15.07.2013 07:30
Добрый день ! Помогите решить проблему с отображением формы. Скрин ее прилагается.
http://floomby.ru/s1/rYShPE Как сделать рамку вокруг каждого поля. А то ни черта не видно куда писать. Если можно то поподробнее. Спасибо !
Ответить | Ответить с цитатой | Цитировать
-1 # Wedal 12.08.2013 08:44
dialod, это вопрос исключительно CSS. Нужно найти через Firebug или ему подобного класс этих форм и добавить в CSS свойство border .
Ответить | Ответить с цитатой | Цитировать
+1 # Юля 09.08.2013 15:13
Здравствуйте!
Спасибо за статью, очень Вы помогли!
Может, глупый вопрос, но как вы сделали отображение дополнительной информации сверху? Делала по вашему примеру, но у меня сначала идет "Форма обратной связи", а потом "Дополнительная информация". Из-за чего это может быть?
Заранее спасибо
Ответить | Ответить с цитатой | Цитировать
+1 # Guest 09.08.2013 19:03
чтобы дополнительная информация шла перед формой обратной связи нужно в файле components - com_contact - views- conact - tmpl - default.php строки с 98 строки и до 112 вырезать и поставить в строку 72.

подробнее - http://joomlaforum.ru/index.php?PHPSESSID=k2atr76qladhkqhutmjj4vtcg3&topic=221849.0;wap2
Ответить | Ответить с цитатой | Цитировать
-2 # Lisychka 10.10.2014 11:20
Благодарю за ответ!!! Весь интернет перерыла и только здесь нашла!
Ответить | Ответить с цитатой | Цитировать
+1 # Archyarts 01.12.2015 11:33
Что-то я правлю этот файл components/com_contact/views/contact/tmpl/default.php и у меня ничего не меняется. Даже удаление всего файла ни к чему не приводит. Файлы компонента com_contact в шаблоне не переопределялись и не правились. Кэш чистил, с разных браузеров заходил, ничего не помогает. Что может быть не так? Уже два дня мучаюсь с этой формой. Joomla 3.4.4
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 02.12.2015 04:41
Archyarts, скорее всего вы правите не тот макет. Напишите URL страницы с отключенным SEF, на которой смотрите изменения. Можно без домена.
Ответить | Ответить с цитатой | Цитировать
0 # Archyarts 02.12.2015 07:04
Нашёл рабочее решение: сделайте в папке своей темы/html папку com_contact а в ней папку contact, в папку contact скопируйте файл default.php и уже его редактируйте.
Ответить | Ответить с цитатой | Цитировать
+1 # veditor 14.02.2014 16:06
Здравствуйте!
Вопрос на засыпку:как отравлять сообщения на два email ?
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 17.02.2014 03:21
veditor, я где-то уже писал об этом... Если даже не удается настроить для контакта 2 разных адреса, можно зарегистрировать ящик на любой публичной почте и настроить с него автоматическую переадресацию на сколь угодно много других ящиков, а адрес этого ящика указать для контакта. Таким образом, письмо будет приходить на общий ящик и автоматически пересылаться всем, кому необходимо.
Ответить | Ответить с цитатой | Цитировать
0 # Анатолий 21.02.2014 05:40
Как можно прикрутить CAPCHu на форму обратной связи для сайта на Joomla 1.5.26
Ее там нет по умолчанию?
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 22.02.2014 01:59
Анатолий, у Joomla 1.5 встроенной капчи нет. Она появилась в более новых версиях CMS. Тут только устанавливать расширение. Проблема в том, что официальный каталог расширений Joomla уже не поддерживает ветку 1.5, как, собственно, и разработчики. Нужно искать по архивам.
Ответить | Ответить с цитатой | Цитировать
+2 # Нурбек 06.03.2014 16:40
как сделать стандарную форму обратной связи joomla 2.5 с прикреплением файлов
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 07.03.2014 02:50
Нурбек, можно попробовать использовать дополнительное расширение: http://extensions.joomla.org/extensions/directory-a-documentation/downloads/3115
Ответить | Ответить с цитатой | Цитировать
0 # Smash_ok 06.04.2014 15:42
Хотел спросить, а как у Вас получилось, что "Дополнительная информация" стоит перед формой обратной связи? У меня почему-то она всегда получается под формой, или это зависит от шаблона?
Ответить | Ответить с цитатой | Цитировать
0 # Smash_ok 06.04.2014 16:24
Уже нашел ответ сам, спасибо
Ответить | Ответить с цитатой | Цитировать
0 # colnze 16.04.2014 09:45
Повторяю вопрос, а как у Вас получилось, что "Дополнительная информация" стоит перед формой обратной связи? У меня почему-то она всегда получается под формой, или это зависит от шаблона?Сама не могу разобраться.
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 17.04.2014 03:22
colnze, макет обратной связи можно полностью перестроить под свои нужды. Для этого нужно переопределить его в используемый шаблон Joomla и отредактировать структуру. См. статью: http://wedal.ru/uroki-joomla/joomla-17-layouts.html
Ответить | Ответить с цитатой | Цитировать
+3 # aaandryha 31.10.2014 19:00
Вы разобрались ?
Ответить | Ответить с цитатой | Цитировать
0 # Filin 05.05.2014 09:16
Кто знаєт - как можно поменять само тело письма(форматирование). Фон сделать. Где ето вообще меняется.
Ответить | Ответить с цитатой | Цитировать
0 # Filin 05.05.2014 12:06
А все ненадо))) Сам нашол.))))
Ответить | Ответить с цитатой | Цитировать
-1 # cvoboda 11.06.2014 01:46
Здравствуйте, подскажите, возможно ли сделать в стандартном компоненте контакты в разделе обратной связи вывод ошибок при неправильном вводе текста? На данный момент, у меня получается пока все поля не заполнить правильно - кнопка "отправить" просто не активна и все.
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 11.06.2014 03:06
cvoboda, можно, используя jQuery. Joomla, на сколько мне известно, еще не научилась стандартно проверять правильность заполнения полей через скрипты, только через PHP на стороне сервера после отправки. Если вы пишите, что кнопка не активна, значит скрипт ее блокирует и правильность все-таки проверяется, только не появляются всплывающие подсказки. Их можно добавить через jQuery.
Ответить | Ответить с цитатой | Цитировать
+1 # Slam 21.07.2014 23:12
Ребята помогите решить проблему. Настроил форму обратной связи и при отправке сообщения приходит письмо с ошибкой:
SMTP error from remote mail server after end of data:
host mxs.mail.ru [94.100.180.150]: 550 Message was not accepted -- it contains invalid headers. More specially, 'From:' header must match user you are sending mail from. See http://help.mail.ru/mail-help/mailer/popsmtp for details.
Ответить | Ответить с цитатой | Цитировать
0 # Ника 19.08.2014 22:04
Добрый вечер! Спасибо за статью. Извините, нечетко сформулированный вопрос, но я новичок в сайтостроении. После создания формы обратной связи, никак не могу понять как убрать восклицательный знак, после слов "доп информация". При том, что сами слова я убрала. И еще осталась прямая линия, которая тоже смотрится довольно странно, если нет заголовка.
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 21.08.2014 06:16
Ника, покажите скриншот формы или дайте ссылку на страницу.
Ответить | Ответить с цитатой | Цитировать
0 # Ника 21.08.2014 19:23
Цитирую Wedal:
Ника, покажите скриншот формы или дайте ссылку на страницу.

Я не могу дать ссылку, т.к. сайт пока на локальном сервере. Как сюда вставить скриншот?
Ответить | Ответить с цитатой | Цитировать
-1 # aaandryha 15.10.2014 06:45
Копия письма приходит к пользователю,а к администратору не приходит, куча настроек перерыл... при регистрации пользователей письма приходят.. в формы нет, ни кто не старливарся ? настройки PHP mail
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 16.10.2014 04:21
aaandryha, вы в настройках контакта тот же email задали, что и в общих настройках Joomla?
Ответить | Ответить с цитатой | Цитировать
0 # aaandryha 24.10.2014 10:04
Да вот был другой, спс, не заметил, как поменять местами форму и доп информацию у меня вначале форма потом текст, хочу поменять местами
Ответить | Ответить с цитатой | Цитировать
0 # maycompani 23.10.2014 09:24
Здравствуйте, Wedal!
Всё сделал как Вы учили, но под формой обратной связи не появляется рисунок капчи, а только надпись: CAPTCHA *
В чем проблема?
Ответить | Ответить с цитатой | Цитировать
-1 # Wedal 24.10.2014 03:56
maycompani, проверьте, включен ли у вас плагин reCAPTCHA.
Ответить | Ответить с цитатой | Цитировать
0 # AndreyWebm 24.10.2014 10:02
Вопрос у меня появляется в начале форма а потом дополнительная информация, как поменять местами что бы форма была внизу под текстом как у Вас ???
Ответить | Ответить с цитатой | Цитировать
+2 # Wedal 25.10.2014 02:58
AndreyWebm, уже отвечал на этот вопрос выше: http://wedal.ru/uroki-joomla/sozdanie-formy-obratnoj-svyazi-standartnymi-sredstvami-joomla.html#comment-8485
Ответить | Ответить с цитатой | Цитировать
0 # aaandryha 31.10.2014 18:58
Ответа там нет там ссылка на статью.. Макеты Joomla...
Ответить | Ответить с цитатой | Цитировать
0 # Seregaaa 27.10.2014 14:07
А как сделать так, чтоб форма отображалась не как отдельная страница, а как модуль? т.е. одна и та же форма в том месте где мне надо, на всех страницах которые мне надо?
Ответить | Ответить с цитатой | Цитировать
+1 # Wedal 28.10.2014 05:39
Seregaaa, насколько мне известно, такой возможности в стандартном компоненте нет. Можно поискать в JED дополнительный модуль, взаимодействующий с компонентом "Контакты", но я с таким не сталкивался.
Ответить | Ответить с цитатой | Цитировать
0 # Wlad 27.10.2014 21:45
День добрый. У меня есть контакты, форма заказа, Links(Связь соц сетей) и Дополнительная информация. Как убрать Links(Связь соц сетей)??????????????

http://demo.joomlashine.com/joomla-templates/jsn_mico/pro/index.php?option=com_contact&view=contact&id=1:name&catid=16&Itemid=512
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 28.10.2014 05:35
Wlad, очевидно нужно отключить отображение этого блока в настройках формы контактов. Или лучше в пункте меню с ID=512.
Ответить | Ответить с цитатой | Цитировать
-1 # Adrian1111 08.05.2015 13:03
А подскажите пожалуйста как можно это использовать для создания формы "обратный звонок"? Чтобы ссылка была в шапке сайта и при нажатии выскакивала контактная форма, где можно было бы оставить номер телефона?
Спасибо!
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 11.05.2015 03:05
Adrian, к url страницы, на которой сейчас появляется форма, нужно добавить &tmpl=component . Далее действовать по методу, описанному в этой статье: http://wedal.ru/joomla/avtorizatsiya-dlya-joomla-sajta-vo-vsplyvayushchem-okne-kejs-2.html
Ответить | Ответить с цитатой | Цитировать
-2 # Александр Иванов 21.05.2015 13:06
Не знаю даже, есть же тот же гибкий RS form или из бесплатных с ajax, например, http://dev.inconver.com/joomla/contactform.html
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 22.05.2015 03:53
Александр, дополнительное расширение - это всегда хуже, чем его встроенный аналог. Да, там могут быть разные плюшки, но стоит помнить о том, что каждое дополнительное расширение нужно также обновлять и поддерживать. Ладно, если оно у вас одно, а если их пара десятков?
Ответить | Ответить с цитатой | Цитировать
+1 # Malu_Tau 23.06.2015 22:49
Пользуемся RedHelper (http://redhelper.ru/)

Мне нравится то, что есть общий браузер, который позволяет оператору увидеть страницу так, как ее видит клиент, это позволяет гораздо быстрее
найти проблему и исправить ее. Кроме того, нету раздражающих всплывающих окон. Сами производители достаточно часто совершенствуют
RedHelper - есть и отдельный виджет RedConnect , с которым они полностью интегрируются и постоянно добавляется что-то новое.
Ответить | Ответить с цитатой | Цитировать
0 # Енотов 13.11.2015 11:46
А может ли эта форма в своем функционале возможность бы формой комментирования?. То есть пользователь оставляет сообщение, который автоматически публикуется на сайте под формой через несколько секунд.
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 16.11.2015 05:12
Енотов, нет, для этих целей лучше подойдет jComments. Получится аналогично: http://wedal.ru/gb.html
Ответить | Ответить с цитатой | Цитировать
+1 # Вика 18.11.2015 07:38
Здравствуйте, Wedal!
Ппод формой обратной связи не появляется рисунок капчи, а только надпись: CAPTCHA *
Плагин reCAPTCHA включен - проверила. Подскажите, что делать?
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 20.11.2015 04:35
Вика, вы ввели в настройках плагина reCAPTCHA ключи?
Ответить | Ответить с цитатой | Цитировать
0 # Marily 20.02.2016 19:27
Здравствуйте)) Подскажите, пожалуйста, где нужно копать, что бы удалить нумерацию контактов(joomla 3)
Ответить | Ответить с цитатой | Цитировать
+1 # Wedal 22.02.2016 04:55
Marily, о какой нумерации идет речь? Покажите живой пример.
Ответить | Ответить с цитатой | Цитировать
0 # Marily 22.02.2016 10:09

Вот скрин.
p.s. спасибо за оперативную связь :roll:
Ответить | Ответить с цитатой | Цитировать
+1 # Wedal 24.02.2016 05:13
Marily, нужен живой сайт. Если он недоступен в Интернет, пришлите относителный URL на эту страницу без SEF, например: index.php?option=com_contact&view=...
Ответить | Ответить с цитатой | Цитировать
-1 # Marily 24.02.2016 19:10
Простите, не совсем поняла как "добыть" эту ссылку :oops: сайт на локальном. Думаю, копать нужно здесь default_items.php
Код:<?php foreach ($this->items as $i => $item) : ?>
<tr class="<?php echo ($i % 2) ? "odd" : "even"; ?>">
<td class="item-num">
<?php echo $i; ?>
</td>

и
Код:<th class="item-num">
<?php echo JText::_('JGLOBAL_NUM'); ?>
</th>

Но php пока не сильна...
Ответить | Ответить с цитатой | Цитировать
-1 # Wedal 25.02.2016 04:25
Marily, ссылка та, что показывается в адресной строке, когда у вас открыта страница с картинки.
Если вы нашли участок кода верно, то просто удалите:
Код:<td class="item-num"> <?php echo $i; ?> </td>
и
Код:<th class="item-num"> <?php echo JText::_('JGLOBAL_NUM'); ?> </th>
Напоминаю, что такие изменения нужно вносить в макет, переопределенный в шаблон Joomla. В противном случае, изменения будут стерты при первом же обновлении Joomla.
Ответить | Ответить с цитатой | Цитировать
0 # Marily 25.02.2016 15:47
Так и есть)) Вдруг, кому пригодиться, нужный файл - default_items.php :roll:
Еще раз спасибо за оперативность))
Ответить | Ответить с цитатой | Цитировать
-1 # Виталий Фекадеэмович 01.03.2016 14:18
Доброго времени суток!
Подскажите, пожалуйста, какой файл отвечает за всплывающие подсказки в стндр форме отправки письма.
Не понятно почему всплывает подсказка вида - ИмяВаше имя
В общем перерыл много чего, но ответа так и не нашел. Может тут, добрые люди помогут и добро им вернется :-)
Заранее спасибо! Joomla 3.4.8
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 02.03.2016 04:13
Виталий, решение может быть разным в зависимости от вашей задачи. Опишите задачу. Что вы хотите сделать? Удалить всплывающие подсказки или изменить их содержание?
Ответить | Ответить с цитатой | Цитировать
-1 # Виталий Фекадеэмович 03.03.2016 03:02
Спасибо за ответ!
Изменить их содержание! Точнее решить проблему с тегами - которые во всплывающих подсказках, как бы не срабатывают - например при наведении на "ИМЯ*" - выпадает " Имя Ваше имя".
Спасибо!
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 03.03.2016 05:21
Виталий, чтобы не копаться в коде, вы можете просто изменить текст этих подсказок через переопределение языковых констант. Вот здесь инструкция с картинками: http://wedal.ru/uroki-joomla/tekst-na-sajte-joomla-kak-najti-dobavit-izmenit-udalit.html

Второй вариант - найти макет Joomla, который отображает данную страницу и отредактировать его, удалив всплывашки.

Третий вариант - скрыть всплывашки через CSS (стиль: display: none;)
Ответить | Ответить с цитатой | Цитировать
+1 # Виталий Фекадеэмович 03.03.2016 05:54
Отличный и интересный материал! Обязательно применю в дальнейшем, однако проблема не уходит(
После переопределения, теги во всплывающей подсказке остаются, слова- естественно переопределяются, что должно и происходить без проблем.
Суть убрать ТЕГИ. Заранее спасибо! Креплю фото!
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 04.03.2016 04:32
Виталий, я не уверен, что способ, описанный ниже, будет работать, но попробуйте:
В используемом вами шаблоне откройте файл index.php и перед закрывающим тегом body добавьте следующий код:
Код:
<script type="text/javascript">
jQuery(document).ready(function () {
// Tooltip
jQuery('.tooltip').tooltip({
html: true
});
});
</script>
Ответить | Ответить с цитатой | Цитировать
0 # JML_VFCDM 04.03.2016 15:48
Спасибо за попытку! К сожалению, не помогает(
Может есть еще какие-нибудь мысли?
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 05.03.2016 03:27
Виталий, суть проблемы в том, что скрипт всплывающих подсказок (tooltip'ов) работает сейчас в режиме, разрешающим использовать внутри этих подсказок только текст, но не html. Чтобы html также можно было использовать, необходимо указать это скрипту определенным параметром. Скорее всего тем, что я привел в коде выше.

Почему это не работает правильно "из коробки"? Скорее всего работает. Проблема может быть в том, что на сайте одновременно используется Mootools и jQuery фреймворки. Попробуйте поменять шаблон Joomla на один из стандартных и проверить подсказки. Не исправились ли они?

А вообще, стандартное решение следующее. Вам нужно посмотреть CSS-класс всплывающих подсказок, разобраться, какой скрипт за них отвечает, посмотреть документацию скрипта и добавить опцию активации html в tooltip'ах по аналогии с тем, как я писал выше. Для веб-разработчика это не сложно, но если вы не очень хорошо разбираетесь в коде, данные действия могут вызвать у вас проблемы.
Ответить | Ответить с цитатой | Цитировать
0 # JML_VFCDM 05.03.2016 21:23
Отключал с помощью плагина "Joomla Options" одновременную работу данных фреймворков - безрезультатно.
Пробовал - протостар, бииз3 - так же без результата.
Вот каким образом наити скрипт который отвечает за Tooltip'ы?
Спасибо за ответы!)
Ответить | Ответить с цитатой | Цитировать
0 # JML_VFCDM 08.03.2016 13:56
Попробую немного сделать по иному.
Обязательное поле в контактной форме выводится с помощью - ПХП ЭХО $this->form->getInput('contact_name');
Подскажите, пжлста, какой конструкцией сделать чтобы внутри этой формы писался текст?
Скорее всего это "placeholder=" но как его применить???
Ответить | Ответить с цитатой | Цитировать
+1 # Wedal 09.03.2016 08:26
JML_VFCDM, в этой конструкции placeholder не предполагается и без хака не обойтись. Можно либо добавить placeholder через jQuery, после загрузки страницы в input'ам c нужными идентификаторами, или, заменить данную php-конструкцию ее html-копией со страницы контактов, добавив туда placeholder.
Ответить | Ответить с цитатой | Цитировать
+1 # JML_VFCDM 09.03.2016 10:28
Спасибо огромное!!!
Ответить | Ответить с цитатой | Цитировать
0 # JML_VFCDM 04.03.2016 15:48
Это я же. Только зарегился у вас)
Ответить | Ответить с цитатой | Цитировать
+1 # Владислав 10.05.2016 10:48
Цитирую Виталий Фекадеэмович:
Спасибо за ответ!
Изменить их содержание! Точнее решить проблему с тегами - которые во всплывающих подсказках, как бы не срабатывают - например при наведении на "ИМЯ*" - выпадает " Имя Ваше имя".
Спасибо!

Код:.tooltip{display: none;}<br />@media screen and (min-width: 900px){<br />.tooltip { position: absolute; z-index: 1030; display: block; visibility: visible; font-size: 11px; line-height: 1.4; opacity: 0; filter: alpha(opacity=0); } .tooltip.in { opacity: 0.8; filter: alpha(opacity=80); } .tooltip.top { margin-top: -3px; padding: 5px 0; } .tooltip.right { margin-left: 3px; padding: 0 5px; } .tooltip.bottom { margin-top: 3px; padding: 5px 0; } .tooltip.left { margin-left: -3px; padding: 0 5px; } .tooltip-inner { max-width: 200px; padding: 8px; color: #fff; text-align: center; text-decoration: none; background-color: #000; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; } .tooltip-arrow { position: absolute; width: 0; height: 0; border-color: transparent; border-style: solid; } .tooltip.top .tooltip-arrow { bottom: 0; left: 50%; margin-left: -5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.right .tooltip-arrow { top: 50%; left: 0; margin-top: -5px; border-width: 5px 5px 5px 0; border-right-color: #000; } .tooltip.left .tooltip-arrow { top: 50%; right: 0; margin-top: -5px; border-width: 5px 0 5px 5px; border-left-color: #000; } .tooltip.bottom .tooltip-arrow { top: 0; left: 50%; margin-left: -5px; border-width: 0 5px 5px; border-bottom-color: #000; }<br />}
Данные css-стили необходимо вставить в ваш css файл, чтобы всплывающие подсказки отображались нормально.
В указанном примере используется дополнительное условие, чтобы подсказки выводились только на экранах с разрешением по ширине выше 900 пикселей (так же распространяется на ширину окна браузера).
Если вам не нужно это условие, то просто удалите код:
Код:.tooltip{display: none;}<br />@media screen and (min-width: 900px){<br />
и в конце:
Код:}
Ответить | Ответить с цитатой | Цитировать
-1 # JML_VFCDM 12.05.2016 15:29
Спасибо!
Давно уже решил просто "обойти" стороной это "всплывание)"
Но кто знает, возможно в будущем поможет подсказка! :-)
Ответить | Ответить с цитатой | Цитировать
+1 # Михаил 26.01.2017 11:42
Здравствуйте! Создал форму для обратной связи При тестировании читаю полученное письмо через Notepad++ и там где должно быть имя отправителя стоит name. Настройки перепроверял. Подскажите что не так. С уважением. МИхаил
Ответить | Ответить с цитатой | Цитировать
-2 # Wedal 01.02.2017 05:01
Михаил, ваш вопрос о стандартной форме обратной связи, которая описана в статье, или о Chronoforms?
Ответить | Ответить с цитатой | Цитировать
-1 # Марина 06.02.2017 14:45
Добрый день. Может быть какую-нибудь подсказочку дадите, все сделала по описанию. В форме обратной связи внизу стоит слово
CAPTCHA *, но не появляется код, который нужно ввести, а самое главное не приходят письма на электронный адрес. Что я могла сделать неправильно? Уже несколько раз пытаюсь начать с самого начала, а результат тот же. У нас сайт учреждения, обратная связь должна работать обязательно, помогите советом, пожалуйста
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 07.02.2017 06:32
Марина,
1) Вы зарегистрировались в сервисе reCaptcha и получили ключи?
2) Вы ввели ключи в настройках плагина?
3) В настройках плагина указана 2-я версия reCaptcha?
3) Плагин включен?
4) В общих настройках Joomla выбрана reCaptcha?
Ответить | Ответить с цитатой | Цитировать
0 # Марина 07.02.2017 08:41
Да, я получила ключи и ввела в настройках плагина, плагин включен, в общих настройках Joomla выбрана reCaptcha. Плагин id 439, он был встроенным, версию не вижу, Joomla версии 2,5.
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 08.02.2017 06:31
Марина, в настройках плагина, там, где вы вводили ключи, выбирается версия reCaptcha: 1 или 2. Вам нужно выбрать вторую версию и убедиться, что ключи также сгенерированы для нее.
Ответить | Ответить с цитатой | Цитировать
0 # Ольга Ивановна 27.02.2017 13:51
почта не отправляется. Это ошибка не формы контактов, а настроек Joomla по работе с почтой (смотрите общие настройки Joomla). Подскажите где это смотреть.
Ответить | Ответить с цитатой | Цитировать
-1 # Wedal 01.03.2017 05:55
Ольга, в админке, Система -> Общие настройки -> Вкладка "Сервер" -> Блок "Настройки почты". Уточните у вашего хостера, какой тип отправки почты им поддерживается (phpmail, sendmail) и выберите соответствующий тип в этом блоке.
Если вы работаете на локальном сервере, то почта отправляться не будет.
Ответить | Ответить с цитатой | Цитировать
0 # Руслан 06.06.2017 08:16
Здравствуйте! Подскажите пожалуйста, можно настроить форму так, что бы когда я ввел имя и телефон, нажал "отправить", меня перебрасывает на другую страницу, с отчетом об отправке. и При этом письмо приходит на почту админу с данными о пользователе который да данные. Спасибо!
Ответить | Ответить с цитатой | Цитировать
+2 # Wedal 07.06.2017 08:17
Руслан, так ведь она так и работает.
Ответить | Ответить с цитатой | Цитировать
+1 # Александр 21.01.2018 06:21
Спасибо за статью! Очень всё подробно. Поставил 5 баллов (звёздочки оценки).
Ответить | Ответить с цитатой | Цитировать
0 # Александр 03.09.2018 03:40
Здравствуйте, Виталий!
Спасибо за Вам за интересный и полезный контент. Вы наверняка знаете об угрозе штрафных санкций за нарушение правил обработки персональных данных. Скажите пожалуйста, как под стандартной формой обратной связи Joomla 3.8.x (над кнопкой отправки сообщения) разместить флажок с текстом, нажатие на который позволит посетителю дать согласие на обработку персональных данных? Так, чтобы пока пользователь непоствит "галочку" на согласие, отправка сообщения была бы невозможной. Знаю, есть расширения с данной опцией, но хотелось бы обойтись стандартными.
Ответить | Ответить с цитатой | Цитировать
-1 # Wedal 03.09.2018 04:22
Александр, это, на самом деле, не так просто:
1) Переопределяем макет формы контакта в шаблон Joomla: components/com_contact/views/contact/tmpl/default_form
2) Добавляем в переопределенном макете checkbox
3) Добаляем в переопределенном макета jQuery-скрипт, который будет при отправке формы сначала проверять то, что установлен чекбокс, и только потом отправлять форму.

Другой вариант - попробовать реализовать это же через дополнительные поля Joomla.

И главное. Подумайте хорошо, нужно ли это вам. Некоторые замеры показывают, что при добавлении такой галочки падает конверсия формы. Некоторые люди просто не хотят, чтобы их данные обрабатывали. У многих слово "обработка" ассоциируется с добавлением телефона или адреса электронной почты в спам-базы.
Я не думаю, что вам грозит штраф. Joomla не хранит в базе отправленные данные. Эти данные только приходят к вам на почту и никак не хранятся и не обрабатываются автоматически.
Ответить | Ответить с цитатой | Цитировать
+1 # Ильгиз 07.06.2022 14:11
Подскажите пожалуйста как убирать поле E-mail и сообщения?
Или сделать не обязательными чтоб скрыть через css
Ответить | Ответить с цитатой | Цитировать
0 # Wedal 08.06.2022 06:44
Ильгиз, используйте модуль Wedal Joomla Callback: https://wedal.ru/rasshireniya-joomla/modul-wedal-joomla-callback-vsplyvayushchaya-forma-obratnoj-svyazi.html

Там это поле отключается в настройках.
Ответить | Ответить с цитатой | Цитировать
+2 # Леонид 15.09.2022 17:08
Спасибо. Очень помог. А то я уже модуль поставил. Оказалось он такой же как у Joomla и явно лишний
Ответить | Ответить с цитатой | Цитировать