avatar

Купить в 1 клик

Опубликовал в блог Дополнения и модули для Simpla CMS
0


Возможность оформлять заказ для посетителя в 1 клик, вводя только телефон и имя. В админки соответственно отображается только введенное посетителем имя и телефон для связи. Данное дополнение для интернет магазинов на базе движка SimplaCMS может повысить конверсию до 50%.

Копируем файл 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 id="oneclick" class="window" style="display: none;">
	<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>

{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}


ДЕМО

47 комментариев RSS
avatar
Скажи а как это реализовать в файле Products.tpl без захода в карточку товара?
avatar
а это где?
url: "/ajax/oneclick.php",
avatar
Нужно этот файл закинуть в корень сайта в папку ajax, остальное по инструкции.
avatar
это понятно куда закинуть, вопрос где взять?
avatar
Dmitriy, Помогите интегрировать в симплу где радио заменены на селекты.
avatar
У меня Simpla 2.2.4 всплывающее окно выводится пустое, подскажите как побороть
avatar
obuvtop.com.ua но сейчас ваш модуль снес
avatar
ок, протестирую у себя на локале под 2.2.4, завтра напишу
avatar
Проблема таже в версии 2.2.4 выводится пустое окно fancybox 1*1см
Помогите решить проблему
avatar
<div style="display: none;">      
	<div id="oneclick" class="window">
        <div class="title">Купить
{$product->name|escape|rtrim}</div>
        <ul>
            <li>
				<label>Ваше Имя:</label>
				<input class="onename" value="{$user->name|escape}" type="text" placeholder="Введите Ваше Имя">
			</li>
            <li>
				<label>Ваш номер моб.телефона:</label>
				<input class="onephone" value="{$user->phone|escape}" type="text" placeholder="Введите номер моб.телефона">
			</li>
			<li class="button_enter">
				<button type="submit" name="enter" value="Отправить заказ" class="oneclickbuy gray_button">Отправить заказ</button>
			</li>
        </ul>
        
	</div>
</div>
avatar
для 2,3,6
должно вроде быть так

<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>

{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($('.add_variant').find('input[name=variant]:checked').size()>0) variant = $('.add_variant 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}
avatar
но при обращении к файлу oneclick.php он выдает ошибку 500
помогите решить проблему(

отправил:
amount:1
variant:32
name:Иван Иваныч
phone:8 999 999 99 99

Принял:
Response Headersview parsed
HTTP/1.1 500 Internal Server Error
Server: nginx/1.0.15
Date: Tue, 30 Sep 2014 23:31:58 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP/5.3.3
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 0
avatar
борюсь месяц, так и не заработало, у меня Simpla 2.3.3
у кого работает отзовитесь, а то один сплошной негатив к данному сайту начинается.
avatar
у тех, у кого не отображаются заказы в админке в файле oneclick.php ищем
<?php
	session_start();
	require_once('../api/Simpla.php');
	$simpla = new Simpla();

меняем на
<?php
	chdir('..');
	require_once('api/Simpla.php');
	$simpla = new Simpla();

и будет вам счастье.
avatar
все равно заказы в админке не отображаются
avatar
спасибо все работает)))
avatar
у меня не то что заказы в админке не отображаются, у меня при клике на кнопку ничего не происходит!http://defurn.ru/
avatar
самая последняя
avatar
нужно подключить fancybox в шаблоне product.tpl
<script type="text/javascript" src="js/fancybox/jquery.fancybox.pack.js"></script>
<link rel="stylesheet" href="js/fancybox/jquery.fancybox.css" type="text/css" media="screen" />
avatar
непомогло, переходит на главную страницу
avatar
проверьте, есть ли файл jquery.fancybox.pack.js в папке js/fancybox
avatar
jquery.fancybox.pack.js
есть
avatar
попробуйте в index.tpl перед
<script type="text/javascript" src="js/ctrlnavigate.js"></script>

вставить
<script src="js/jquery/jquery.js"  type="text/javascript"></script>
avatar
опять ничего(
avatar
Возможно, что у вас где-то изменены файлы. Если в стандартном шаблоне заработает, то значит проблема с вашей стороны.
avatar
Подскажите все сделал по инструкции но заказ не как не хочет попадать в заказ. Шаблон стандартный, все отображается, спрашивает, но не как не хочет отображаться в админке. Все советы указанные тут побывал тоже.
avatar
Здравствуйте, подскажите, как исправить.
1 — В product.tpl при нажатии на кнопку сначала появляется окошко — заполните все поля. Затем все работает нормально.
2 — Добавил кнопку в products.tpl при нажатии на кнопку так же сначала — окно, «заполните все поля», затем форма не обрабатывается. При нажатии на кнопку купить при заполненной форме, все время окно — «заполните все поля».
avatar
Данное решение работает только в карточке товара
avatar
т.е для каталога надо скрипт переписывать полностью?
А в карточке почему сначало окно, потом форма?
avatar
т.е для каталога надо скрипт переписывать полностью?
да
avatar
Здравствуйте. Заказы не отображаются в админке. В том числе и менял
<?php
session_start();
require_once('../api/Simpla.php');
$simpla = new Simpla();

на
<?php
chdir('..');
require_once('api/Simpla.php');
$simpla = new Simpla();

как указано в посте чуть выше. Что можно еще попробовать сделать? Симпла 2.3.5
avatar
значит проблема в чем то еще, дайте ссылку на сайт.
avatar
Ссылку не могу дать, так как сайт делается в локали, в сети появится после наполнения контентом, еще не скоро. Вы можете указать, что я должен проверить, на что обратить внимание?
avatar
вот если бы еще работало для products.tpl или же для main.tpl было бы вообще здорово.
как реализовать, доработать ??
Помогите пожалуйста.
avatar
Реализовал ли кто для Каталога и Главной страницы?
Подскажите, плииз!
avatar
подскажите, почему эта доработка не работает в этом шаблоне:
simpla-addons.org/blog/templates/shoppica2--adaptivnyj-shablon-dlya-simpla-cms
как сюда прописать ее?
avatar
на оригинальный вопрос отвечаю оригинальным ответом, а хер его знает
avatar
Спасибо тебе, добрый человек))
avatar
Шаблон нестандартный на симпле 2.3.7 не срабатывает кнопка в форме заказа «купить».
срабатывает только если нажать на кнопку шаблона «в корзину» а потом «купить в 1 клик». и в форме все норм
Как можно подправить, чтобы она была самостоятельной)?
ska-group.by/products/rherheh
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.