SergeySpb178 Posted January 27, 2017 Report Share Posted January 27, 2017 (edited) Установил функцию "купить в 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 Edited January 27, 2017 by sss Quote Link to post Share on other sites
Danya Posted January 27, 2017 Report Share Posted January 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(); Quote Link to post Share on other sites
SergeySpb178 Posted January 27, 2017 Author Report Share Posted January 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(); Нет изменений Quote Link to post Share on other sites
Danya Posted January 27, 2017 Report Share Posted January 27, 2017 а варианты у вас через выпадающий список? Quote Link to post Share on other sites
Smartycms Posted January 27, 2017 Report Share Posted January 27, 2017 Дайте ссылку на сайт, сейчас решим вопрос Quote Link to post Share on other sites
SergeySpb178 Posted January 27, 2017 Author Report Share Posted January 27, 2017 Дайте ссылку на сайт, сейчас решим вопрос http://smartatom.ru/products/usb-fonarik Quote Link to post Share on other sites
Danya Posted January 27, 2017 Report Share Posted January 27, 2017 попробуйте этот вариант: if($('.cart').find('select[name=variant]').size()>0) variant = $('.cart').find('select').val(); Quote Link to post Share on other sites
Smartycms Posted January 27, 2017 Report Share Posted January 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(); У вас выбор варианта сделан не стандартно. Могу поправить - нужен доступ в пу, так удобнее нежели рассуждать тут попробуй так - сяк. Quote Link to post Share on other sites
Danya Posted January 27, 2017 Report Share Posted January 27, 2017 я проверил у него, мой вариант заработал: if($('.cart').find('select[name=variant]').size()>0) variant = $('.cart').find('select').val(); Quote Link to post Share on other sites
SergeySpb178 Posted January 27, 2017 Author Report Share Posted January 27, 2017 попробуйте этот вариант: if($('.cart').find('select[name=variant]').size()>0) variant = $('.cart').find('select').val(); теперь отправляется но приходит в админку в таком виде Quote Link to post Share on other sites
SergeySpb178 Posted January 27, 2017 Author Report Share Posted January 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(); У вас выбор варианта сделан не стандартно. Могу поправить - нужен доступ в пу, так удобнее нежели рассуждать тут попробуй так - сяк. Есть варианты? Quote Link to post Share on other sites
Danya Posted January 27, 2017 Report Share Posted January 27, 2017 попробуйте прописать в файле oneclick.php if(!empty($variant_id)) перед функцией order_id Quote Link to post Share on other sites
SergeySpb178 Posted January 27, 2017 Author Report Share Posted January 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))); Quote Link to post Share on other sites
SergeySpb178 Posted January 27, 2017 Author Report Share Posted January 27, 2017 (edited) Вообщем решилось установкой этого 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(); Edited January 27, 2017 by SergeySpb178 Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.