1. Уважаемые пользователи, прежде чем ответить в теме или создать новую,
    внимательно ознакомьтесь с правилами раздела

    Кому лень работать или руки не оттуда - пользуйтесь услугами специалистов
  2. Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.."

    Есть JED!!! Ищите там!!!

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

Тема в разделе "JoomShopping", создана пользователем xtmp, 26 дек 2014.

Информация :
  • Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с правилами раздела
  • Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.." Есть JED!!! Ищите там!!!
  • Аналоги ищите там же - на JED!!!
  • Новая версия? - У кого будет - тот выложит!
  1. xtmp

    xtmp Постоялец

    Регистр.:
    18 янв 2014
    Сообщения:
    62
    Симпатии:
    24
    Во многих интернет магазинах есть полезная фича: "Перезвоните мне".
    Но как показывает практика она неудобная.
    Обычно реализовано так:
    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;
    }
     
    Последнее редактирование: 1 янв 2015
    magvay123, starlitt и PP1 нравится это.
  2. pvi1

    pvi1 Постоялец

    Регистр.:
    2 дек 2012
    Сообщения:
    59
    Симпатии:
    20
    Каким образом придет сообщение администратору: в админку или на почту? Также интересует: с номером телефона придет информация, с какой страницы отправлен номер телефона?
     
  3. metal-stroi-komplekt

    metal-stroi-komplekt Постоялец

    Регистр.:
    23 дек 2012
    Сообщения:
    141
    Симпатии:
    34
    сообщение придет исключительно на почту, указанную в файле form.php
    адрес страницы вроде бы передается в форме (вы совсем что ли не читали то что в первом посте???), хотя не пробовал, в моем варианте приходит однозначно, выкладывал тут уже, но потерли)))

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