Нужна помощь "Купить в 1 клик"

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

alexivchenko
alexivchenko
Репутация: 1
Сообщения: 16
Зарегистрирован: 29.09.2017
С нами: 6 лет 5 месяцев

Сообщение #1 alexivchenko » 08.11.2017, 00:43

Использовал дополнение, заказ не передается и кнопка купить не действует.
0ef0f7c0877b.jpg

Копируем файл oneclick.php в папку ajax в корневую директорию вашего сайта

Открываем файл design/default/html/product.tpl находим строчку:

Код: Выделить всё

<input type="submit" class="button" value="в корзину" data-result-text="добавлено"/>

и под ней добавляем:

Код: Выделить всё

<!-- Покупка в один клик -->
<a href="#oneclick" class="button various oneclick">Купить в 1 клик</a>
                     
<div style="display: none;">   
        <div id="oneclick" class="window">
        <div class="title">Купить
{$product->name|escape|rtrim}</div>
        <ul>
            <li>
                              <h4><font color="red">*</font>Ваше имя:</h4>
                                <input class="onename" value="{$user->name|escape}" type="text" placeholder="Введите ваше имя">
                        </li>
            <li>
                              <h4><font color="red">*</font>Ваш телефон:</h4>
                                <input class="onephone" value="{$user->phone|escape}" type="text" placeholder="Введите номер моб.телефона">
                        </li>
<li>
                              <h4><font color="red">*</font>Ваш адрес или отделение службы доставки:</h4>
                                <input class="oneaddress" value="{$user->address|escape}" type="text" placeholder="Введите адрес доставки">
                        </li>
<li>
                              <h4>Ваш комментарий:</h4>
                               
<textarea class="onecomment" id="user_comment" name="comment" data-notice="Введите комментарий">{$user->comment|escape}</textarea>
                        </li>

Поля отмеченные <font color="red">*</font> обязательны к заполнению!

                        <li class="button_enter">
                                <button type="submit" name="enter" value="Отправить заказ" class="oneclickbuy gray_button">Отправить заказ</button>
                        </li>
        </ul>
     
        </div>
</div>

{literal}
        <style>
                .button.various         { display: block; margin: 3px 0 0 0; padding: 3px 12px; font-size: 13px; }
                #oneclick                       { width: 350px; font-size: 12px; }
                #oneclick .title        { font: 18px Arial; color: #000; margin-bottom: 7px; border-bottom: 1px solid #ccc; padding-bottom: 12px; }
                #oneclick p,
                #oneclick li            { display: block; padding: 6px 0; }
                #oneclick li span       { display: inline-block; width: 80px;  }
                #oneclick input         { width: 336px; }
                #oneclick button        { margin-top: 8px; }
      #oneclick textarea   {width: 336px; height: 100px; font-size: 12px; }
        </style>
        <script>
        $(function() {

                $(".various").fancybox({
                        helpers : {
                                overlay : {
                                        locked : false
                                }
                        },
                        closeBtn: false,
                        fitToView: false,
                        autoSize: true,
                        minHeight: "0",
                        minWidth: "350",
                        scrolling: false,
                        closeClick      : false,
                        openEffect      : 'fade',
                        closeEffect     : 'none'
                });

                $('.oneclickbuy').click( function() {

                        if($('.variants').find('input[name=variant]:checked').size()>0) variant = $('.variants input[name=variant]:checked').val();
if($('.variants').find('select[name=variant]').size()>0)
variant = $('.variants').find('select').val();
                     
                        if( !$('.onename').val() || !$('.onephone').val() || !$('.oneaddress').val()) {
                                alert("Заполните обязательные поля!");
                                return false;
                        }

                        $.ajax({
                                type: "post",
                                url: "/ajax/oneclick.php",
                                data: {amount: 1, variant: variant, name: $('.onename').val() , phone: $('.onephone').val() , address: $('.oneaddress').val() , comment: $('.onecomment').val()},
                                dataType: 'json'
                        });
                     
                        $('.oneclick').hide(200);
                        $("#oneclick").html("<div class='title'>Спасибо за заказ!</div><p>В ближайшее время с вами свяжется наш менеджер!</p><button type='submit' class='button' onclick='$.fancybox.close();$(\".oneclick\").hide();return false;'>Закрыть!</button>");
                     
                        return false;
                     
                });

        });
        </script>
{/literal}
<!-- Покупка в один клик (The End) -->

oneclick.zip
(505 байт) 141 скачивание


Я вынес за пределы тега <form> так как после нажатия, у меня стоит всплывающая корзина , товар добавлялся в корзину.
Пробовал и с bootstrape 4 и с magnific. Помогите настроить.

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #2 korshunov » 08.11.2017, 07:15

Скорее всего, скрипт не определяет номер варианта.
Многое зависит от дизайна страницы товара, на которой это применяется. На стандартном шаблоне Okay точно работать и не должно.

Похоже, делалось на основе скрипта для Simpla
http://forum.simplacms.ru/topic/8892-купить-в-1-клик/
а там несколько иные стандарты...

alexivchenko
alexivchenko
Репутация: 1
Сообщения: 16
Зарегистрирован: 29.09.2017
С нами: 6 лет 5 месяцев

Сообщение #3 alexivchenko » 08.11.2017, 18:49

korshunov писал(а):Скорее всего, скрипт не определяет номер варианта.
Многое зависит от дизайна страницы товара, на которой это применяется. На стандартном шаблоне Okay точно работать и не должно.

Похоже, делалось на основе скрипта для Simpla
http://forum.simplacms.ru/topic/8892-купить-в-1-клик/
а там несколько иные стандарты...
Вы правы, стоит дефолтный шаблон OkayCMS.
Помогите сделать, даже это не помогло.

Код: Выделить всё

<a href="#oneclick-{$product->id}" class="button various oneclick">Купить в 1 клик</a>

ну и сам блок

Код: Выделить всё

<div id="oneclick-{$product->id}" class="window">


Название раздела: Вопросы по работе с OkayCMS
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Вопросы по работе с OkayCMS»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 37 гостей