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

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

Установил функцию "купить в 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

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

попробуйте в место

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

 

попробуйте в место

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

 

Нет изменений 

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

Проблема в этом куске кода

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($('.cart').find('select[name=variant]').size()>0) variant = $('.cart').find('select').val();

 

теперь отправляется но приходит в админку в таком виде

post-22210-0-34835600-1485537540_thumb.png

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

Проблема в этом куске кода

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

У вас выбор варианта сделан не стандартно. Могу поправить - нужен доступ в пу, так удобнее нежели рассуждать тут попробуй так - сяк.

 

Есть варианты?

post-22210-0-53051000-1485538597_thumb.png

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

попробуйте прописать в файле 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)));
 

 

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

Вообщем решилось установкой этого 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();   
 
Изменено пользователем SergeySpb178
Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

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

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

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

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