Перейти к содержанию
Официальный форум поддержки Simpla

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


Рекомендуемые сообщения

Вот описание на стандартную симплу:

http://templazilla.ru/moduli-i-dopolnenija-simpla-cms/2014/08/20/kupit-v-1-klik.html

 

 

подскажите как интегрировать в симплу где радио вариантов поменяны на селекты, спасибо!

Ссылка на сообщение
Поделиться на другие сайты

Могу предложить свое решение http://pack.simplacms.org/products/pylesos_dyson_dc32_animalpro правда платное но работает отлично и без ошибок.

Ссылка на сообщение
Поделиться на другие сайты

Пробуйте после

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();

Если шаблон не стандартный, то, возможно, придется что-то еще делать...

Ссылка на сообщение
Поделиться на другие сайты

такая должна быть структура:

 

<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>
Ссылка на сообщение
Поделиться на другие сайты

 

такая должна быть структура:

 

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

Спасибо, теперь форма работает, он не реагирует на нажатие кнопки купить.

Ссылка на сообщение
Поделиться на другие сайты

Код выглядит так:

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}
Ссылка на сообщение
Поделиться на другие сайты

НЕ соответствуют:

1.   a href="#oneclick" class="button various oneclick">купить в 1 клик</a>
2.   $('.oneclickbuy').click( function() {

 

Пробуйте изменить

2.   $('.oneclick').click( function() {

Ссылка на сообщение
Поделиться на другие сайты

НЕ соответствуют:

1.   a href="#oneclick" class="button various oneclick">купить в 1 клик</a>

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

 

Пробуйте изменить

2.   $('.oneclick').click( function() {

Без изменений...

Ссылка на сообщение
Поделиться на другие сайты

В файле 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 норм
Ссылка на сообщение
Поделиться на другие сайты
  • 3 недели спустя...

 

В файле 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

Ссылка на сообщение
Поделиться на другие сайты

Все работает идеально только в карточке товара, в любых других местах, например, в категории товаров, где отображается список товаров при нажатии на кнопку "купить в один клик" просто перекидывает на главную страницу. Возможно ли реализовать эту функцию в каталоге товаров?

Ссылка на сообщение
Поделиться на другие сайты
  • 4 недели спустя...
  • 4 недели спустя...

Подскажите. При нажатии на кнопку "купить в 1 клик" сначала появляется алерт "Заполните все поля", после закрытия алерта уже сама форма. Я так понимаю алерт должен появляться если не заполнено одно из полей. Как это исправить?

Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...

а как эту великолепную доработку применить Каталогу (products.tpl) и на Главной (main.tpl) ??

читал, что нужна доработка под это?

Реализовал ли кто?

Ссылка на сообщение
Поделиться на другие сайты
  • 1 год спустя...

У меня тоже такая версия, но не работает, вот что установил:

 

в вариантах используется выпадающий список

 

в шаблоне

                  <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

Изменено пользователем Skynet
Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...