Частые ошибки с установкой CallMe [faq]

Список розділів Скрипти Callme — скрипт замовлення зворотнього дзвінка

Опис: Свіжа версія — 1.9.5 (2013-12-21)

#1 Nazar Tokar » 26.03.2013, 19:01

UPDATED 2014-03-19

callme-errors.png


В догонку к предыдущему посту придётся создать и этот, куда я буду складывать вопросы, которые возникают у пользователей при установке CallMe. Естественно, с решениями. Пост будет пополняться по мере нахождения багов и фич.

Не открывается *.html

В браузере не открывается файл с расширением *.html, ошибка 404 или открывается любая из страниц сайта

В файле .htaccess стоит запрет на открытие html-файлов напрямую, такое иногда встречается в некоторых cms. Вы можете проверить, открыв файл .htaccess в корне вашего сайта. Там будет что-то похожее:

Код: Виділити все
RewriteRule ^(.*).html(.*)$ index.php [L]

Решение: переименуйте html-файл, смените расширение с html на php и в .js найдите функцию, которая вставляет форму на сайт и замените там расширение на .php.

Работает только на стартовой

На стартовой скрипт работает, а на остальных висит отправка и ничего не происходит.

Решение: в html вашего сайта может быть указан параметр base href. Обычно он мало чем вам поможет, а иногда ещё и навредит, как в случае с base href=’http://***.ru/index.php/icons’. Если это не противоречит вашей вёрстке, удаляйте эту строку из темплейтов, в большинстве случаев вообще ничего не поменяется. Если так сделать не получится, отредактируйте js-файлы скрипта и замените все относительные адреса на абсолютные. Например, /callme/callme.js будет заменено на http://***.com/callme/callme.js.

Кнопка не реагирует на клик

Кнопка «Перезвони мне» справа появилась, но не реагирует на клик.

Решение: это может быть по многим причинам. Одна из них: закачаны не все файлы скрипта, либо же закачаны не полностью. Для нормальной загрузки лучше пользоваться не веб-загрузчиками, которые могут фильтровать загружаемый контент, а вручную по ftp. Рекомендую программу WinSCP, CyberDuck или FileZilla.

Для смены электропочты и редактирования скрипта всегда пользуйтесь хорошим редактором кода. Например, Sublime Text, Coda, Notepad++, HTMLPad. Не пользуйтесь стандартным блокнотом (почему?).

Форма отображается внизу страницы

Форма появилась, но не реагирует на клики и висит внизу страницы.

Не загружены или не подключены файлы сss. Убедитесь, что css-файлы лежат в папке /сallme/ либо в любой другой и путь к ним указан верно.

Решение: если у вас OpenCart, поля формы могут быть половинной ширины, так как стили магазина обрабатывают все текстовые поля, в т.ч. CallMe. Решение подсказал userV, нужно в /templates/**/style.css добавить !important перед точкой с запятой для всех стилей текстовых полей.

Не приходят уведомления на почту

Всё работает, но письмо на почту не приходит.

Возможны разные варианты.

Вариант №1: проверьте папку спама. Для того, чтобы почтовик не расценивал письма как спам, укажите разные адреса в качестве отправителя и получателя.

Вариант №2: на хостинге может быть выключена функция php sendmail, в таком случае нужно связаться с хостером и попросить включить.

Вариант №3: проверьте правильность адреса почты.

Вариант №4: иногда адрес отправителя письма должен быть зарегистрированным ящиком на хостинге. Например, здесь, выделено красным.

«Висит» отправка

Появляется слово «Отправка запроса» и ничего не происходит.

Решение: вы неправильно отредактировали send.php и он вместо сообщения об отправке выдаёт error. Чтобы убедиться, откройте файл /callme/lib/send.php в браузере и убедитесь, что он не выдаёт ошибок php.

Вариант №2: вы добавили вывод jQuery вручную после /callme/callme.js. Откройтетестовую страницу по адресу /callme/index.html — если отправка работает, проблема с повторым вызовом jQuery. Если не работает — проблема с send.php.

Вариант №3: у вас устаревшая версия jQuery. Решение: обновите до версии не менее чем 1.7.2 либо воспользуйтесь инструкцией.

Вариант №4: иногда адрес отправителя письма должен быть зарегистрированным ящиком на хостинге. Например, здесь, выделено красным. Если этого сделать нельзя, настройте отправку через SMTP.

Вариант №5: встречается реже, но бывает. В версии 1.9.0 была добавлена функция отображения города, из которого отправляется уведомление. Данные вычисляются по ip и из динамического ответа сервиса freegeoip.net. В том случае, если у вас выключена функция json_decode, ваш файл send.php будет выдавать ошибку 500. В таком случае нужно или попросить хостера включить функцию, или убрать декодирование и отправки данных, нужно найти строки:

Код: Виділити все
$ip = $_SERVER['REMOTE_ADDR'];
 $geo = file_get_contents('http://freegeoip.net/json/'.$ip);
 $geo = json_decode($geo, true);

И заменить их на

Код: Виділити все
$geo = $_SERVER['REMOTE_ADDR'];

Вариант №6. Письмо приходит, но сообщение об отправке не выдается. Причина: устаревшая версия php или запрет на функцию file_get_contents. Воспользуйтесь аддоном Firebug (в Firefox) или встроенной проверкой кода (Chrome). Откройте response для файла send.php и посмотрите, какой ответ присылает этот файл. Там может быть нечто похожее на:

Warning: file_get_contents(): ... is disabled in the server configuration by allow_url_fopen=0...

Тогда в send.php нужно отключить функцию file_get_contents. У вас не будут работать отправка sms и выяснение города, откуда была отправка.

Вариант №7. Неправильно указан отправитель. Обратите внимание: после отправителя по умолчанию (noreply) добавляется домен сайта. Если вы настраиваете smtp, дополнительно домен указываться не должен. Распространенная ошибка встречается в таком формате:

Код: Виділити все
$from = "[email protected]".$HTTP_HOST;

Вместо этого нужно:

Код: Виділити все
$from = "[email protected]";

Проблемы с кодировкой

Скрипт работает нормально, а некоторые другие выдают неправильную кодировку

Проблема: сайт в кодировке Win-1251, а скрипт в utf-8. И чтобы не было конфликтов, в callme.js я указал, что ajax-запросы должны отправляться строго в utf-8. Ваше голосование работает тоже с асинхронной передачей данных, соответственно и там кодировка меняется.

Решение: перекодировать (пункт «кодировка» в Notepad++) файлы:

  • /callme/js/callme.js
  • /callme/f.php

После этого в callme.js закоментировать такую строку:

Код: Виділити все
contentType: "text/html; charset=utf-8",

Ничего не помогает

Нашёл ошибку, все сделал как указано в инструкции, обновил все файлы, но проблема осталась. Не забывайте чистить кэш. Как браузерный, так и серверный, если ваша CMS это позволяет. Если проблема не решается, напишите сюда подробное описание, дайте ссылку на сайт и опишите, что не получается.
Читайте твітер.
Nazar Tokar M
Автор теми, Администратор
Аватар
Звідки: Україна
Репутація: 149
Повідомлення: 2509
Теми: 100
З нами: 4 роки 8 місяців

#2 ok » 26.03.2013, 19:02

Походу первый))
Спасибо за скрипт. Работает.
ok

#3 zik » 26.03.2013, 19:02

Скрипт достойный, спасибо за реализацию
zik

#4 Наталья » 26.03.2013, 19:02

Здравствуйте! Спасибо за Ваш скрипт ! Но — поскольку я еще новичок — не могу его подключить на сайт. Файлы по FTP скопировала, адрес e-mail в файлике поменяла. Но когда я полностью вношу текст подключения — то мне полностью форма и вываливается (например, в футере). А мне надо в заголовке сайта написать строку «заказать звонок» — и по нажатию на эту надпись — должна вывалиться форма заказа. Подскажите, плиз — как это сделать? Спасибо!
Наталья

#5 Nazar Tokar » 26.03.2013, 19:03

Наталья, кода скрипта у вас даже нет на сайте, о чем вы говорите? Читайте комментарии к постам по Callme, там все написано.
Читайте твітер.
Nazar Tokar M
Автор теми, Администратор
Аватар
Звідки: Україна
Репутація: 149
Повідомлення: 2509
Теми: 100
З нами: 4 роки 8 місяців

#6 Виталий » 26.03.2013, 19:04

Здравствуйте! Поставил скрипт на сайт.. зависает в состоянии отправки… посмотрите пожалуйста.
Виталий

#7 Nazar Tokar » 26.03.2013, 19:04

Виталий, уже раз ответил, могу повторить: пользуйтесь нормальным редактором, а не блокнотом. Чтоб не было такого.
Читайте твітер.
Nazar Tokar M
Автор теми, Администратор
Аватар
Звідки: Україна
Репутація: 149
Повідомлення: 2509
Теми: 100
З нами: 4 роки 8 місяців

#8 dm » 26.03.2013, 19:05

Спасибо за скрипт, только чего то не отправляется письмо). Opencart 1.5.4.x
Исправил маил в файле callback.php, качал отсюда. В чем может быть ошибка?
dm

#9 Василий » 26.03.2013, 19:05

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

#10 KSinner » 26.03.2013, 19:07

Испытываю проблему с base href… Без этого тега обратный звонок работает, но рушится дизайн.
Как и было рекомендовано, прописывал полные пути в файлах callme.css и callme.js — не помогло. Также, пытался прописывать и не полные пути, а:
Код: Виділити все
callme/index.php
/callme/index.php
Все равно не работает…
В base href прописано
Код: Виділити все
base href="http://My-Site.ru/"
KSinner

#11 Nazar Tokar » 26.03.2013, 19:07

KSinner, с base href вопрос описывался несколько раз уже, читайте комментарии. В случае, если этот атрибут необходим, придется прописывать полную пути в вызове и обработке скриптов. Причем, проверить, чтобы они везде были правильными. В том числе и в callme.js, где идет передача данных в index.php.

Василий, дело может быть в том, что вы не дали ссылку на ваш сайт и я понятия не имею, что вам ответить. Читайте комменты, там это обсуждалось тыщу раз.

dm, у вас скрипт, которому больше года и который я уже давно обновился. Качайте свежую версию и читайте условия пользования + комментарии.
Читайте твітер.
Nazar Tokar M
Автор теми, Администратор
Аватар
Звідки: Україна
Репутація: 149
Повідомлення: 2509
Теми: 100
З нами: 4 роки 8 місяців

#12 KSinner » 26.03.2013, 19:08

Испытываю проблему с base href… Без этого тега обратный звонок работает, но рушится дизайн.
Как и было рекомендовано, прописывал полные пути в файлах callme.css и callme.js — не помогло. Также, пытался прописывать и не полные пути, а:
Код: Виділити все
callme/index.php
/callme/index.php
Все равно не работает…
В base href прописано
Код: Виділити все
base href="http://My-Site.ru/"
KSinner

#13 KSInner » 26.03.2013, 19:08

Дедушка, я и говорю, что в файлах callme.css и callme.js прописал полные пути. Как их можно написать не правильно?
Код: Виділити все
http://my_site.ru/callme/index.php в файле callme.js
— это правильно?

В callme.css тоже для всех картинок прописано
Код: Виділити все
http://my_site.ru/callme/___.png
и тд
KSInner

#14 Nazar Tokar » 26.03.2013, 19:09

KSinner, звучит правильно. Ссылку бы дали лучше, чтобы я видел вообще, о чем речь.
Читайте твітер.
Nazar Tokar M
Автор теми, Администратор
Аватар
Звідки: Україна
Репутація: 149
Повідомлення: 2509
Теми: 100
З нами: 4 роки 8 місяців

#15 dm » 26.03.2013, 19:10

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

Скачал новый архив callme-latest. То же самое… может дело в том что установлено на локальном сервере, а не в инете?
dm

#16 Nazar Tokar » 26.03.2013, 19:10

dm, да я понятия не имею, я же не вижу, что вы там делаете. В 99% случаев это стандартные ошибки.
Читайте твітер.
Nazar Tokar M
Автор теми, Администратор
Аватар
Звідки: Україна
Репутація: 149
Повідомлення: 2509
Теми: 100
З нами: 4 роки 8 місяців

#17 dm » 26.03.2013, 19:11

1. скачал архив, в нем папка callme
2. скопировал папку в localhost (корневая папка)
3. вставил в header.tpl код

Код: Виділити все
Заказать бесплатный звонок
Ваше имя
Телефон
Вопрос или комментарий
© CallMe 1.6,
Назар Токарь

4. изменил в index.php

Код: Виділити все
//адрес почты для отправки уведомления
//несколько ящиков могут перечисляться через запятую
$to = «[email protected]»;
//адрес, от которого придёт уведомление
$from = «[email protected]»;

все. форма появляется, заполняю поля, появляется сообщение об успешной отправке а на почте пусто…
dm

#18 Nazar Tokar » 26.03.2013, 19:11

dm, на локалке не отправляется почта.
Читайте твітер.
Nazar Tokar M
Автор теми, Администратор
Аватар
Звідки: Україна
Репутація: 149
Повідомлення: 2509
Теми: 100
З нами: 4 роки 8 місяців

#19 Виктор » 26.03.2013, 19:12

Добрый день!

Скрипт установился, но увы, не работает
Открывается форма, после заполнения и нажатии кнопки отправить, крутится отправки и ничего не происходит.
Трасировка в java консоли пишет следующее

Код: Виділити все
GET http://www%2C.babeta.ru/callme/index.php?cname=95131&cphone=%2B7-13131&ccmnt=scvsv&ctime=0&url=http%3A%2F%2Fbabeta.ru%2F jquery-latest.min.js:2
send jquery-latest.min.js:2
v.extend.ajax jquery-latest.min.js:2
v.(anonymous function) jquery-latest.min.js:2
v.extend.getJSON jquery-latest.min.js:2
sendMail callme.js:39
(anonymous function)

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

#20 Юрий » 26.03.2013, 19:12

Проблема с отправкой почты. Все работает до момента отправки, даже пишет- письмо отправлено. Но почта не приходит. Ящик внесен правильно, раз8 по буквам перепроверил. в чем может быть причина. Выше видел подобный пост, но он остался без ответа…
Юрий

Наст.

Повернутись в Callme — скрипт замовлення зворотнього дзвінка

Хто зараз на форумі (базується на активності користувачів за останні 30 хвилин)

Зараз переглядають цей розділ: 4 гостей

cron