Обсуждение Перезвоните мне в 1 клик

xtmp

Постоялец
Регистрация
18 Янв 2014
Сообщения
71
Реакции
29
Во многих интернет магазинах есть полезная фича: "Перезвоните мне".
Но как показывает практика она неудобная.
Обычно реализовано так:
1. Клик на кнопку - выпадает модальное окно.
2. В нем надо заполнить несколько полей
3. Нажать кнопку "отправить"
Часто это все пугает покупателя.
Гораздо лучше, когда эта форма уже встроена в страницу(минус 1 клик), а из полей один только телефон куда звонить.
В итоге вводим телефон и жмакаем "перезвоните"

recall1.PNG

Итак, как это реализовать на Joomshopping.

В индекс файл добавим скрипт:
Код:
<script type="text/javascript">
             function AjaxFormRequest(result_id,form_id,url) {
                jQuery.ajax({
                    url:     url, //Адрес подгружаемой страницы
                    type:     "POST", //Тип запроса
                    dataType: "html", //Тип данных
                    data: jQuery("#"+form_id).serialize(),
                    success: function(response) { //Если все нормально
                    document.getElementById(result_id).innerHTML = response;
                },
                error: function(response) { //Если ошибка
                document.getElementById(result_id).innerHTML = "Ошибка при отправке формы";
                }
             });
        }
</script>

В файл шаблона product_default.php в нужное место добавим вывод формы:

Код:
<div class="recall1">
<div style="height: 10px; padding: 10px;" id="result_div_id">
                           
        </div>
             
        <form method="post" action="" id="form_id">
            <input type="text" name="phone" value="+38" />
            <input class="rec_btn1" type="button" value="Перезвоните мне" onclick="AjaxFormRequest('result_div_id', 'form_id', '/form.php')" />
        </form>
</div>

и cоздадим обработчик формы form.php

PHP:
<?php
if (isset($_POST["phone"])) {
  echo "Ожидайте звонка на Ваш телефон: " . $_POST["phone"];

//$adminemail="admin@host.com";
    $subject="Запрос звонка";
    $adminemail="to@host.com";
    $page = stripcslashes($_POST['page']);

$tel = stripcslashes($_POST['phone']);
    $headers = "MIME-Version: 1.0\n";
    $headers .= "Content-type: text/plain; charset=UTF-8\r\n";
    $headers .= "From: =?utf-8?B?".base64_encode($tel) ."?= <$adminemail>\r\n"; 
    $contactMessage =
"Запрос звонка: <$tel>
Письмо отправлено со страницы: $page
IP отправителя: $_SERVER[REMOTE_ADDR]";

  mail($adminemail, "=?utf-8?B?".base64_encode($subject)."?=", $contactMessage, $headers);
 
}
Осталось причесать css
HTML:
form#form_id {
    border: none;
    text-align: middle;
    line-height: 22px;
    overflow: hidden;
    padding-left: 5px;
    border: 1px solid red;
    width: 280px;
    height: 24px;
    text-align: middle;
}


form#form_id input {
    border: none;
    line-height: 22px;
    overflow: hidden;
    padding-left: 5px;
    width: 130px;
}
.rec_btn1 {
    background: rgb(236, 27, 0);
    border: none;
    height: 24px;
    color: white;
    text-align: center;
    float: right;
}

.rec_btn1:hover {
    cursor:pointer;
    background: #F26D1A;
}
 
Последнее редактирование:
Каким образом придет сообщение администратору: в админку или на почту? Также интересует: с номером телефона придет информация, с какой страницы отправлен номер телефона?
 
Каким образом придет сообщение администратору: в админку или на почту? Также интересует: с номером телефона придет информация, с какой страницы отправлен номер телефона?
сообщение придет исключительно на почту, указанную в файле form.php
адрес страницы вроде бы передается в форме (вы совсем что ли не читали то что в первом посте???), хотя не пробовал, в моем варианте приходит однозначно, выкладывал тут уже, но потерли)))

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

А почему после обновления должно пропасть? Если из-за правки product_default.php, то создайте свой шаблон, и ничего не слетит.
 
у большинства нет своего шаблона, а все правки вносятся в тот что в системе. поэтому и пропадает
уже не раз сталкивался с тем, что просят восстановить, потому что слетело после обновления
 
у большинства нет своего шаблона, а все правки вносятся в тот что в системе. поэтому и пропадает
уже не раз сталкивался с тем, что просят восстановить, потому что слетело после обновления

Ну не знаю ... По мне, это первое, что нужно сделать после установки joomshoppinga. Правки вносить все равно придется, не представляю, чтобы кому-то подошел стандартный, а совсем не обновляться... там же иногда и дыры в безопасности правят.
Тем более и делается элементарно. Самое простое, скопировать все из components/com_jshopping/templates/default в /templates/Ваш_шаблон/html/com_jshopping (и править, соответственно, там же).
 
Ну не знаю ... По мне, это первое, что нужно сделать после установки joomshoppinga. Правки вносить все равно придется, не представляю, чтобы кому-то подошел стандартный, а совсем не обновляться... там же иногда и дыры в безопасности правят.
Тем более и делается элементарно. Самое простое, скопировать все из components/com_jshopping/templates/default в /templates/Ваш_шаблон/html/com_jshopping (и править, соответственно, там же).
ну вот попадаются такие уникумы, которые не делают правильно, чтобы потом не было проблем
я вообще использую всегда готовые шаблоны и правлю их под себя, чтобы не писать шаблон с нуля
так там всегда в папке шаблона уже есть шаблон джумшоппинга, и все правки только там
 
Есть и плагин под это дело, могу выложить, кому интересно.
Но потом ему руками допилить стили надо под свой вид сайта.
 
Назад
Сверху