SergeySpb178 Опубликовано 27 января, 2017 Жалоба Поделиться Опубликовано 27 января, 2017 (изменено) Установил функцию "купить в 1 клик" но после заполнения всех форм нажимаю на кнопку "отправить" не чего не происходит, в чем проблема где копать?Product.tpl {if $product->variant->price >0}<input type="submit" class="but_add to_cart" value="" data-result-text=""/>{/if} <!-- Покупка в один клик --> <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> <div class="text">Пожалуйста, заполните контактную информацию.<br /> Сотрудники службы заказа свяжутся с вами в рабочее время. </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 { font-family:FuturaRoundRegular,Arial; display: block; margin: 3px 0 0 0; padding: 10px 12px; font-size: 14px; } #oneclick { font-family:FuturaRoundRegular,Arial; width: 350px; font-size: 12px; color:#000; } #oneclick .text { font-size:12px; letter-spacing:1px;} #oneclick .title { font-size:18px; color: #000; margin-bottom: 7px; border-bottom: 1px solid #ccc; padding-bottom: 12px; } #oneclick p, #oneclick li { display: block; padding: 0px 0; } #oneclick li span { display: inline-block; width: 80px; } #oneclick input { width: 336px; margin-bottom: 10px; } #oneclick input[type="text"] { border: 1px solid #eeeeee; border-radius: 10px; box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.5) inset; box-sizing: border-box; float: left; margin-left: 5px; padding: 6px 10px; } #oneclick button { background: none repeat scroll 0 0 #ffe735; border: medium none; border-radius: 10px; color: #000000; cursor: pointer; display: block; font-family: FuturaRound,Arial; font-size: 1.75em; margin: 10px 20% 0; padding: 10px 0; position: relative; text-align: center; text-decoration: none; text-transform: uppercase; width: 200px;} #oneclick textarea {width: 336px; height: 100px; font-size: 12px; } #oneclick ul { padding:0; } #oneclick ul li h4 { padding:0; margin:0; } </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.php <?php session_start(); chdir('..'); require_once('api/Simpla.php'); $simpla = new Simpla(); $variant_id = $simpla->request->post('variant', 'integer'); $amount = $simpla->request->post('amount', 'integer'); $order = new StdClass; $order->name = $simpla->request->post('name', 'string'); $order->phone = $simpla->request->post('phone', 'string'); // добавляем заказ $order_id = $simpla->orders->add_order($order); // добавляем товар в заказ $simpla->orders->add_purchase(array('order_id'=>$order_id, 'variant_id'=>intval($variant_id), 'amount'=>intval($amount))); // отправляем письмо администратору $simpla->notify->email_order_admin($order_id); http://smartatom.ru/products/usb-fonarik Изменено 27 января, 2017 пользователем sss Цитата Ссылка на сообщение Поделиться на другие сайты
Danya Опубликовано 27 января, 2017 Жалоба Поделиться Опубликовано 27 января, 2017 попробуйте в место if($('.variants').find('input[name=variant]:checked').size()>0) variant = $('.variants input[name=variant]:checked').val(); прописать if($('.cart').find('input[name=variant]:checked').size()>0) variant = $('.cart input[name=variant]:checked').val(); Цитата Ссылка на сообщение Поделиться на другие сайты
SergeySpb178 Опубликовано 27 января, 2017 Автор Жалоба Поделиться Опубликовано 27 января, 2017 попробуйте в место if($('.variants').find('input[name=variant]:checked').size()>0) variant = $('.variants input[name=variant]:checked').val(); прописать if($('.cart').find('input[name=variant]:checked').size()>0) variant = $('.cart input[name=variant]:checked').val(); Нет изменений Цитата Ссылка на сообщение Поделиться на другие сайты
Danya Опубликовано 27 января, 2017 Жалоба Поделиться Опубликовано 27 января, 2017 а варианты у вас через выпадающий список? Цитата Ссылка на сообщение Поделиться на другие сайты
Smartycms Опубликовано 27 января, 2017 Жалоба Поделиться Опубликовано 27 января, 2017 Дайте ссылку на сайт, сейчас решим вопрос Цитата Ссылка на сообщение Поделиться на другие сайты
SergeySpb178 Опубликовано 27 января, 2017 Автор Жалоба Поделиться Опубликовано 27 января, 2017 Дайте ссылку на сайт, сейчас решим вопрос http://smartatom.ru/products/usb-fonarik Цитата Ссылка на сообщение Поделиться на другие сайты
Danya Опубликовано 27 января, 2017 Жалоба Поделиться Опубликовано 27 января, 2017 попробуйте этот вариант: if($('.cart').find('select[name=variant]').size()>0) variant = $('.cart').find('select').val(); Цитата Ссылка на сообщение Поделиться на другие сайты
Smartycms Опубликовано 27 января, 2017 Жалоба Поделиться Опубликовано 27 января, 2017 Проблема в этом куске кода 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(); У вас выбор варианта сделан не стандартно. Могу поправить - нужен доступ в пу, так удобнее нежели рассуждать тут попробуй так - сяк. Цитата Ссылка на сообщение Поделиться на другие сайты
Danya Опубликовано 27 января, 2017 Жалоба Поделиться Опубликовано 27 января, 2017 я проверил у него, мой вариант заработал: if($('.cart').find('select[name=variant]').size()>0) variant = $('.cart').find('select').val(); Цитата Ссылка на сообщение Поделиться на другие сайты
SergeySpb178 Опубликовано 27 января, 2017 Автор Жалоба Поделиться Опубликовано 27 января, 2017 попробуйте этот вариант: if($('.cart').find('select[name=variant]').size()>0) variant = $('.cart').find('select').val(); теперь отправляется но приходит в админку в таком виде Цитата Ссылка на сообщение Поделиться на другие сайты
SergeySpb178 Опубликовано 27 января, 2017 Автор Жалоба Поделиться Опубликовано 27 января, 2017 Проблема в этом куске кода 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(); У вас выбор варианта сделан не стандартно. Могу поправить - нужен доступ в пу, так удобнее нежели рассуждать тут попробуй так - сяк. Есть варианты? Цитата Ссылка на сообщение Поделиться на другие сайты
Danya Опубликовано 27 января, 2017 Жалоба Поделиться Опубликовано 27 января, 2017 попробуйте прописать в файле oneclick.php if(!empty($variant_id)) перед функцией order_id Цитата Ссылка на сообщение Поделиться на другие сайты
SergeySpb178 Опубликовано 27 января, 2017 Автор Жалоба Поделиться Опубликовано 27 января, 2017 попробуйте прописать в файле oneclick.php if(!empty($variant_id)) перед функцией order_id Если все верно сделал, тогда вообще перестали приходить заказы // добавляем товар в заказ $simpla->orders->add_purchase('array(if(!empty($variant_id))'order_id'=>$order_id, 'variant_id'=>intval($variant_id), 'amount'=>intval($amount))); Цитата Ссылка на сообщение Поделиться на другие сайты
SergeySpb178 Опубликовано 27 января, 2017 Автор Жалоба Поделиться Опубликовано 27 января, 2017 (изменено) Вообщем решилось установкой этого http://templazilla.ru/moduli-i-dopolnenija-simpla-cms/2014/08/20/kupit-v-1-klik.html варианта с заменой этой строчки : if($('.variants').find('input[name=variant]:checked').size()>0) variant = $('.variants input[name=variant]:checked').val(); На эту: if($('.cart').find('select[name=variant]').size()>0) variant = $('.cart').find('select').val(); Изменено 27 января, 2017 пользователем SergeySpb178 Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.