Форум русской поддержки Joomla!® CMS
05.12.2016, 20:38:25 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1] 2 3 4 5 6   Вниз
  Добавить закладку  |  Печать  
Автор

Простой модуль Обратный звонок AJAX

 (Прочитано 23536 раз)
0 Пользователей и 1 Гость смотрят эту тему.
wfedin
Живу я здесь
******

Репутация: +102/-0
Offline Offline

Пол: Мужской
Сообщений: 1295



« : 24.09.2013, 18:54:43 »

Понадобилась простая форма обратной связи и т.к. не нашёл ничего подобного на Joomla! 3 решил попробовать сам написать и не смог бы, но благодаря активному участию Istaan и Fedor Vlasenko в теме Безопасен ли такой модуль? он увидел таки свет. Огромное вам спасибо за потраченное время на моё обучение  drink

Особенности модуля:
  • Не больше одного модуля на странице
  • За сессию можно отправить не больше 7 сообщений
  • Весь код прокомментирован и в случае чего можно легко найти настройку
  • Валидация на jQuery Validation Plugin - v1.11.1
  • В самом конце файла callback.js находятся правила проверки и локализация ошибок

Скачать модуль Call Back

С выходом Joomla! 3.2 Запилил версию под модальное окно Bootstrap

Особенности:

Скачать модуль Call Back

P.S. Вся ответственность за использование модуля на Вас самих. Никаких претензий на авторство, вы вправе делать с ним, что пожелаете.
« Последнее редактирование: 07.11.2013, 17:11:28 от wfedin » Записан
wfedin
Живу я здесь
******

Репутация: +102/-0
Offline Offline

Пол: Мужской
Сообщений: 1295



« Ответ #1 : 27.09.2013, 18:58:26 »

Под диктовку Istaan и Fedor Vlasenko было переписано около 50% кода модуля, всем кто скачал его рекомендую обновиться. Модуль для Joomla! 3.x, но думаю пойдёт и на 2.5.х. Единственное в файле sender.php необходимо закомментировать 23 строку и раскомментировать 25 строку.
Записан
zikkuratvk
Профи
********

Репутация: +256/-2
Offline Offline

Пол: Мужской
Сообщений: 3932


Разрабатываем для Joomla


« Ответ #2 : 29.09.2013, 07:43:38 »

Рекомендую добавить ссылку на демо.
Записан
wfedin
Живу я здесь
******

Репутация: +102/-0
Offline Offline

Пол: Мужской
Сообщений: 1295



« Ответ #3 : 29.09.2013, 13:59:14 »

Рекомендую добавить ссылку на демо.
Нет пока, планирую переход после выхода 3.2 в конце октября. Готовлюсь  Smiley Вообще я не планирую плотно разработкой заниматься, так... любитель и не более.
Записан
wfedin
Живу я здесь
******

Репутация: +102/-0
Offline Offline

Пол: Мужской
Сообщений: 1295



« Ответ #4 : 05.10.2013, 11:31:56 »

Сегодня поставил на Joomla! 2.5.14, никаких изменений вносить не пришлось. Просто работает!
Записан
inko_gnito
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 79


« Ответ #5 : 07.10.2013, 16:37:31 »

А как убрать лишние поля? простите, за идиотский вопрос ))))
Записан
wfedin
Живу я здесь
******

Репутация: +102/-0
Offline Offline

Пол: Мужской
Сообщений: 1295



« Ответ #6 : 07.10.2013, 17:46:52 »

А как убрать лишние поля? простите, за идиотский вопрос ))))

Они в файле form.xml находятся, ну и нужно в sender.php их обработку убрать.
« Последнее редактирование: 07.10.2013, 18:31:29 от wfedin » Записан
inko_gnito
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 79


« Ответ #7 : 07.10.2013, 18:14:46 »

Не получается с полем name:
убираю само поле из шаблона,
убираю в js/callback.js проверку:
'callback[name]': {required: false,

И сразу выдает ошибку... В чем может быть дело?
Записан
wfedin
Живу я здесь
******

Репутация: +102/-0
Offline Offline

Пол: Мужской
Сообщений: 1295



« Ответ #8 : 07.10.2013, 18:27:21 »

Где-то пропускаешь что-то
Показать текстовый блок
Записан
wfedin
Живу я здесь
******

Репутация: +102/-0
Offline Offline

Пол: Мужской
Сообщений: 1295



« Ответ #9 : 07.10.2013, 18:29:16 »

А sender.php поправил?
Записан
inko_gnito
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 79


« Ответ #10 : 08.10.2013, 20:27:09 »

А где в sender править? я с php не очень, честно говоря.

if(!preg_match('/^[-\sa-zа-яё]{3,25}+$/ui', $data['name'])) {
   $error = 1;
}

- вырезал вот этот кусок. Перестало сообщать об ошибке, но без заполненного поля все равно не отправляет.
« Последнее редактирование: 08.10.2013, 20:31:02 от inko_gnito » Записан
inko_gnito
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 79


« Ответ #11 : 08.10.2013, 20:36:45 »

Сорри! Все заработало!

Итак, что сделал:

в файле form.xml вырезал два field с именем и месседжем

в файле sender.php - кусок с обработкой name.


Вот еще сложная задача - как можно field сделать скрытым? что-то из XML не подтягиваются никакие стили и ничерта вообще, как ни кручу...

Хочу сделать поле message скрытым и вбить в него по умолчанию какой-то текст.

И сделать на основе этого фильтр в почте. Если текст в поле message не меняли - в одну сторону письма откладывать, если меняли - в папку спам, потому что человек поменять ничего не мог - при включенном CSS форма должна быть невидимой.
Записан
wfedin
Живу я здесь
******

Репутация: +102/-0
Offline Offline

Пол: Мужской
Сообщений: 1295



« Ответ #12 : 08.10.2013, 20:38:15 »

Как-то так
Показать текстовый блок
Записан
inko_gnito
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 79


« Ответ #13 : 08.10.2013, 21:07:26 »

Не совсем понял.

Давайте я конкретизирую вопрос: как можно присвоить новый (не предусмотренный) параметр для input в коде вашего модуля?
Записан
verstalshik
Практически профи
*******

Репутация: +94/-1
Offline Offline

Сообщений: 1788



« Ответ #14 : 08.10.2013, 21:13:53 »

вот видите, уже и тех. поддержку требуют)))
как говорится, назвался Фединым -будьте любезны)))
а вообще для одиночки разумнее делать платный вариант, просто тупо состав времени сэкономите... или у вас его полно если тока.... тогда кусочек мне отсыпьте...
Записан
wfedin
Живу я здесь
******

Репутация: +102/-0
Offline Offline

Пол: Мужской
Сообщений: 1295



« Ответ #15 : 08.10.2013, 21:22:59 »

Вот еще сложная задача - как можно field сделать скрытым? что-то из XML не подтягиваются никакие стили и ничерта вообще, как ни кручу...

Хочу сделать поле message скрытым и вбить в него по умолчанию какой-то текст.


Думаю не стоит. Спама и так нет пока.
Записан
wfedin
Живу я здесь
******

Репутация: +102/-0
Offline Offline

Пол: Мужской
Сообщений: 1295



« Ответ #16 : 08.10.2013, 21:26:48 »

а вообще для одиночки разумнее делать платный вариант, просто тупо состав времени сэкономите... или у вас его полно если тока.... тогда кусочек мне отсыпьте...
Он не требует, он спрашиает как? Smiley
Записан
inko_gnito
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 79


« Ответ #17 : 10.10.2013, 11:45:00 »

Не требую, точнее даже предлагаю варианты доработки )

Спама за сутки пришло более 300 писем - на старый домен ставлю.

Делать капчу не буду принципиально - она конверт снижает на 20-30% по АВ-тестам.

Вот скрытые поля - это простая альтернатива, которую пока роботы не распознают (начнут - буду делать скрытие на js)


пока не освоил как это сделать, зато придумал фильтр в почте по пустому полю.
Записан
wfedin
Живу я здесь
******

Репутация: +102/-0
Offline Offline

Пол: Мужской
Сообщений: 1295



« Ответ #18 : 10.10.2013, 12:51:22 »

Сказки какие-то, на крайняк можете регулярку поправить [-+\s\(\)0-9] если поле для телефона.
У меня 3 поля и ни одного спамного сообщения.
Записан
verstalshik
Практически профи
*******

Репутация: +94/-1
Offline Offline

Сообщений: 1788



« Ответ #19 : 10.10.2013, 14:51:31 »

Вот скрытые поля - это простая альтернатива, которую пока роботы не распознают (начнут - буду делать скрытие на js)
пока не освоил как это сделать, зато придумал фильтр в почте по пустому полю.
вы чтото путатеете... скрытые поля от роботов я применяю так - делаю условие на заполненность скрытого поля - если поле заполнено, то в спам! изначально поле пустое. это помогает, если робот продвинутый, т.е. пытается заполнить все поля. а то что оно скрыто - это как раза не для робота0)) в исходном коде поле ведь видно! или вы как скрываете?
т.е. если проще, то вот логика:
заходит человек, скрытое поле не видит и соответственно не заполняет, остальные поля заполняет -> форма отправляется
заходит робот-спамер, скрытое поле видит и соответственно заполняет, остальные поля заполняет -> форма НЕ отправляется

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

такая логика не поможет, если роботы тупые - когда заполняют одно-два-три поле и вперед, тогда им может повезти и заполнят только то что нужно ...
вечная борьба....
"так жизнь скучна, когда боренья нет" ))) © М. Ю. Лермонтов
Записан
verstalshik
Практически профи
*******

Репутация: +94/-1
Offline Offline

Сообщений: 1788



« Ответ #20 : 10.10.2013, 14:52:20 »

Сказки какие-то, на крайняк можете регулярку поправить [-+\s\(\)0-9] если поле для телефона.
У меня 3 поля и ни одного спамного сообщения.
посещалка там может другая?
Записан
wfedin
Живу я здесь
******

Репутация: +102/-0
Offline Offline

Пол: Мужской
Сообщений: 1295



« Ответ #21 : 10.10.2013, 17:06:50 »

Если поле лишь под телефон - сомневаюсь что кто-то спамит цифрами, дефисами и круглыми скобками с плюсами Roll Eyes
Кстати, а + нужно экранировать \ в символьном классе?
Если учесть, что + квантификатор, то правильно наверное будет [-\+\s\(\)0-9]
« Последнее редактирование: 10.10.2013, 17:17:02 от wfedin » Записан
inko_gnito
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 79


« Ответ #22 : 11.10.2013, 11:38:51 »

Кстати, да ))) с момента как оставил только поле под телефон - роботы вымерли.

А про сказки - домену 10 лет. Он во всех спамбазах есть.

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

Если до вас не докатилось - это вопрос двух-трех лет и активного продвижения сайта. Кстати, есть чувство, что они домены подбором ищут - у меня почти все - до 5 символов и все спамятся.
Записан
inko_gnito
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 79


« Ответ #23 : 11.10.2013, 11:50:55 »

Всю голову сломал - как можно placeholder добавить в форму?
Записан
wfedin
Живу я здесь
******

Репутация: +102/-0
Offline Offline

Пол: Мужской
Сообщений: 1295



« Ответ #24 : 11.10.2013, 12:25:37 »

Боюсь, что через XML не выйдет... Как вариант. или переноси поле в default.php, а помошника в топку... Удаляем:
из mod_callback.php
Код
// Подключаем файл помошник
require_once dirname(__FILE__). '/helper.php';
в default.php заменяем
Код
	<?php foreach ($form->getFieldset('callback') as $field): ?>
<?php echo $field->label; ?>
<?php echo $field->input; ?>
<?php endforeach; ?>
на
Код
<input type="text" name="callback[phone]" placeholder="+7 (495) 455-78-06">
« Последнее редактирование: 11.10.2013, 12:57:31 от wfedin » Записан
wfedin
Живу я здесь
******

Репутация: +102/-0
Offline Offline

Пол: Мужской
Сообщений: 1295



« Ответ #25 : 07.11.2013, 17:12:06 »

С выходом Joomla! 3.2 Запилил версию под модальное окно Bootstrap
Сайт с демо под аватаром, на страницах с услугами...
« Последнее редактирование: 07.11.2013, 17:18:01 от wfedin » Записан
Sokol
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 44



« Ответ #26 : 19.11.2013, 12:08:31 »

Здравствуйте, wfedin!

Модуль установился без проблем, кнопка работает, модальное окно открывается. Но при нажатии кнопки "отправить" постоянно выходит сообщение:
"Извините, но при отправке письма произошла ошибка. Пожалуйста попробуйте позже."

т.е заявка ни разу не отправилась.

До Вашего варианта стоял "родной" callback, и работал без глюков. Тот модуль не устраивал как раз тем, что не был заточен под Bootstrap, пришлось ковыряться с дизайном и с его окна при клике то и дело перекидывало на сайт разработчика.
Перед установкой нового старый модуль был удален.
Joomla! 3.1.5
шаблон написан на YT Framework
наличие Bootstrap имеется
наличие Font Awesome имеется
« Последнее редактирование: 19.11.2013, 12:14:22 от Sokol » Записан
wfedin
Живу я здесь
******

Репутация: +102/-0
Offline Offline

Пол: Мужской
Сообщений: 1295



« Ответ #27 : 19.11.2013, 13:43:14 »

А штатным компонентом почта уходит? Модуль отправляет почту средствами Joomla!
Записан
Sokol
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 44



« Ответ #28 : 19.11.2013, 14:47:11 »

Да. Стоит компонент JoomShopping инфа по заказам отправляется нормально.
Записан
wfedin
Живу я здесь
******

Репутация: +102/-0
Offline Offline

Пол: Мужской
Сообщений: 1295



« Ответ #29 : 19.11.2013, 15:26:56 »

Я о com_contact спрашивал... Ссылку бы дали взглянуть сразу.
Записан
Страниц: [1] 2 3 4 5 6   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet