Jump to content

Recommended Posts

Установил функцию "купить в 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 by sss
Link to post
Share on other sites

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

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();
Link to post
Share on other sites

 

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

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

 

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

Link to post
Share on other sites

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

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

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

Link to post
Share on other sites

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

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

Link to post
Share on other sites

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

 

Link to post
Share on other sites

Вообщем решилось установкой этого 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 by SergeySpb178
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...