tsybart Posted September 17, 2014 Report Share Posted September 17, 2014 Вот описание на стандартную симплу:http://templazilla.ru/moduli-i-dopolnenija-simpla-cms/2014/08/20/kupit-v-1-klik.html подскажите как интегрировать в симплу где радио вариантов поменяны на селекты, спасибо! Quote Link to post Share on other sites
tsybart Posted September 17, 2014 Author Report Share Posted September 17, 2014 ошибка: ReferenceError: variant is not defined Quote Link to post Share on other sites
Noxter Posted September 17, 2014 Report Share Posted September 17, 2014 Могу предложить свое решение http://pack.simplacms.org/products/pylesos_dyson_dc32_animalpro правда платное но работает отлично и без ошибок. Quote Link to post Share on other sites
Kors Posted September 17, 2014 Report Share Posted September 17, 2014 Пробуйте после 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
Karen Posted September 18, 2014 Report Share Posted September 18, 2014 Подскажите, не открывает форму для заполнения имя, тел. как поправить? Quote Link to post Share on other sites
tsybart Posted September 18, 2014 Author Report Share Posted September 18, 2014 такая должна быть структура: <div style="display: none;"> <div id="oneclick" class="window"> <div class="title">Купить {$product->name|escape|rtrim}</div> <ul> <li><span>Ваше имя:</span><input class="onename" value="" type="text"></li> <li><span>Телефон:</span><input class="onephone" value="" type="text"></li> </ul> <button type="submit" name="enter" value="1" class="oneclickbuy button">Купить!</button> </div> </div> Quote Link to post Share on other sites
Karen Posted September 18, 2014 Report Share Posted September 18, 2014 такая должна быть структура: <div style="display: none;"> <div id="oneclick" class="window"> <div class="title">Купить {$product->name|escape|rtrim}</div> <ul> <li><span>Ваше имя:</span><input class="onename" value="" type="text"></li> <li><span>Телефон:</span><input class="onephone" value="" type="text"></li> </ul> <button type="submit" name="enter" value="1" class="oneclickbuy button">Купить!</button> </div> </div> Спасибо, теперь форма работает, он не реагирует на нажатие кнопки купить. Quote Link to post Share on other sites
Karen Posted September 18, 2014 Report Share Posted September 18, 2014 Код выглядит так: 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><span>Ваше имя:</span><input class="onename" value="" type="text"></li> <li><span>Телефон:</span><input class="onephone" value="" type="text"></li> </ul> <button type="submit" name="enter" value="1" class="oneclickbuy button">Купить!</button> </div> </div> {literal} <style> .button.various { display: block; float: left; margin: 8px 0 0 2px; padding: 3px 10px; font-size: 13px; } #oneclick { width: 350px; font-size: 14px; } #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: 264px; } #oneclick button { float: right; margin-top: 8px; } </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( !$('.onename').val() || !$('.onephone').val() ) { alert("Заполните все поля!"); return false; } $.ajax({ type: "post", url: "/ajax/oneclick.php", data: {amount: 1, variant: variant, name: $('.onename').val() , phone: $('.onephone').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} Quote Link to post Share on other sites
Kors Posted September 18, 2014 Report Share Posted September 18, 2014 НЕ соответствуют:1. a href="#oneclick" class="button various oneclick">купить в 1 клик</a>2. $('.oneclickbuy').click( function() { Пробуйте изменить2. $('.oneclick').click( function() { Quote Link to post Share on other sites
tsybart Posted September 18, 2014 Author Report Share Posted September 18, 2014 поправте начало файл php: session_start(); chdir('..'); require_once('api/Simpla.php'); Quote Link to post Share on other sites
Karen Posted September 18, 2014 Report Share Posted September 18, 2014 поправте начало файл php: session_start(); chdir('..'); require_once('api/Simpla.php'); Не пойму, куда нужно вставить код? Quote Link to post Share on other sites
Karen Posted September 18, 2014 Report Share Posted September 18, 2014 НЕ соответствуют:1. a href="#oneclick" class="button various oneclick">купить в 1 клик</a>2. $('.oneclickbuy').click( function() { Пробуйте изменить2. $('.oneclick').click( function() {Без изменений... Quote Link to post Share on other sites
Karen Posted September 19, 2014 Report Share Posted September 19, 2014 Ребята, помогите пожалуйста! очень нужно Quote Link to post Share on other sites
arsko Posted September 20, 2014 Report Share Posted September 20, 2014 У меня тоже что-то не работает. Возможно из-за версии Фансибокс такая проблема возникает? Quote Link to post Share on other sites
Karen Posted September 22, 2014 Report Share Posted September 22, 2014 Прием-прием!) Quote Link to post Share on other sites
artbe Posted September 30, 2014 Report Share Posted September 30, 2014 В файле oneclick.php изменить смену директории session_start(); chdir('..'); require_once('api/Simpla.php'); $simpla = new Simpla(); Далее: 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><span>Ваше имя:</span><input class="onename" value="" type="text"></li> <li><span>Телефон:</span><input class="onephone" value="" type="text"></li> </ul> <button type="submit" name="enter" value="1" class="oneclickbuy button">Купить!</button> </div> </div> {literal} <style> .button.various { display: block; float: left; margin: 8px 0 0 2px; padding: 3px 10px; font-size: 13px; } #oneclick { width: 350px; font-size: 14px; } #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: 264px; } #oneclick button { float: right; margin-top: 8px; } </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' }); $('.oneclick').click( function() { if($('.variants').find('input[name=variant]:checked').size()>0) variant = $('.variants input[name=variant]:checked').val(); if( !$('.onename').val() || !$('.onephone').val() ) { alert("Заполните все поля!"); return false; } $.ajax({ type: "post", url: "/ajax/oneclick.php", data: {amount: 1, variant: variant, name: $('.onename').val() , phone: $('.onephone').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} И все работает! НО, товары добавляются не те, что надо. Т.е. нажимаешт на купить в 1клик один товар, а в заказ попадает другой это в 2.1.5. В 2.3.6 норм Quote Link to post Share on other sites
artbe Posted September 30, 2014 Report Share Posted September 30, 2014 На 2.2.3. тоже самое, при нажатии Купить в клик - добавляется не тот товар. Quote Link to post Share on other sites
ValeriyZ Posted October 15, 2014 Report Share Posted October 15, 2014 В файле oneclick.php изменить смену директории session_start(); chdir('..'); require_once('api/Simpla.php'); $simpla = new Simpla(); Далее: 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><span>Ваше имя:</span><input class="onename" value="" type="text"></li> <li><span>Телефон:</span><input class="onephone" value="" type="text"></li> </ul> <button type="submit" name="enter" value="1" class="oneclickbuy button">Купить!</button> </div> </div> {literal} <style> .button.various { display: block; float: left; margin: 8px 0 0 2px; padding: 3px 10px; font-size: 13px; } #oneclick { width: 350px; font-size: 14px; } #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: 264px; } #oneclick button { float: right; margin-top: 8px; } </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' }); $('.oneclick').click( function() { if($('.variants').find('input[name=variant]:checked').size()>0) variant = $('.variants input[name=variant]:checked').val(); if( !$('.onename').val() || !$('.onephone').val() ) { alert("Заполните все поля!"); return false; } $.ajax({ type: "post", url: "/ajax/oneclick.php", data: {amount: 1, variant: variant, name: $('.onename').val() , phone: $('.onephone').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} И все работает! НО, товары добавляются не те, что надо. Т.е. нажимаешт на купить в 1клик один товар, а в заказ попадает другой это в 2.1.5. В 2.3.6 нормпри заполнение полей ничего не происходит после нажатия на кнопку купить. Simpla 2.3.6 Quote Link to post Share on other sites
Lisa Posted October 15, 2014 Report Share Posted October 15, 2014 Все работает идеально только в карточке товара, в любых других местах, например, в категории товаров, где отображается список товаров при нажатии на кнопку "купить в один клик" просто перекидывает на главную страницу. Возможно ли реализовать эту функцию в каталоге товаров? Quote Link to post Share on other sites
jetbalans Posted November 9, 2014 Report Share Posted November 9, 2014 проблемно Quote Link to post Share on other sites
GrblFF Posted December 4, 2014 Report Share Posted December 4, 2014 Подскажите. При нажатии на кнопку "купить в 1 клик" сначала появляется алерт "Заполните все поля", после закрытия алерта уже сама форма. Я так понимаю алерт должен появляться если не заполнено одно из полей. Как это исправить? Quote Link to post Share on other sites
daramal Posted January 29, 2015 Report Share Posted January 29, 2015 а как эту великолепную доработку применить Каталогу (products.tpl) и на Главной (main.tpl) ??читал, что нужна доработка под это?Реализовал ли кто? Quote Link to post Share on other sites
Danya Posted November 13, 2016 Report Share Posted November 13, 2016 Кто-то устанавливал на версию Simpla 2.0.2, работает? Quote Link to post Share on other sites
Skynet Posted November 15, 2016 Report Share Posted November 15, 2016 (edited) У меня тоже такая версия, но не работает, вот что установил: в вариантах используется выпадающий список в шаблоне <a href="#oneclick" class="button various oneclick">купить в 1 клик</a> <div style="display: none;"> <div id="oneclick" class="window"> <div class="title">Купить {$product->name|escape}</div> <ul> <li><span>Ваше имя:</span><input class="onename" value="" type="text"></li> <li><span>Телефон:</span><input class="onephone" value="" type="text"></li> </ul> <button type="submit" name="enter" value="1" class="oneclickbuy button">Купить!</button> </div> </div> {literal} <style> .button.various { display: block; float: left; margin: 8px 0 0 2px; padding: 3px 10px; font-size: 13px; } #oneclick { width: 350px; font-size: 14px; } #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: 264px; } #oneclick button { float: right; margin-top: 8px; } </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('select[name=variant]').size()>0) variant = $('.variants').find('select').val(); if( !$('.onename').val() || !$('.onephone').val() ) { alert("Заполните все поля!"); return false; } $.ajax({ type: "post", url: "ajax/oneclick.php", data: {amount: 1, variant: variant, name: $('.onename').val() , phone: $('.onephone').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} файл oneclick.php <?php session_start(); 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); Установленная версия fancybox - fancybox-1.3.4, прикрепил во вложении. Модальное окно открывается, но после ввода данных и нажатии кнопки Купить, ничего не происходит.Подскажите пожалуйста, как можно адаптировать под старую вервию 2.0 ?fancybox-1.3.4.rar Edited November 15, 2016 by Skynet Quote Link to post Share on other sites
Skynet Posted November 22, 2016 Report Share Posted November 22, 2016 Помогите пожалуйста, ребята! Кто разбирается? Мучаюсь четвертую неделю с этим дополнением, не получается. 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.