| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408 | <?php/** * FecShop file. * * @link http://www.fecshop.com/ * @copyright Copyright (c) 2016 FecShop Software LLC * @license http://www.fecshop.com/license/ */use fec\helpers\CRequest;?><div class="main container one-column">	<div class="col-main">		<?= Yii::$service->page->widget->render('flashmessage'); ?>		<form action="<?= Yii::$service->url->getUrl('checkout/onepage'); ?>" method="post" id="onestepcheckout-form">			<?= CRequest::getCsrfInputHtml(); ?>			<div style="margin: 0;" class="group-select">				<p class="onestepcheckout-description"><?= Yii::$service->page->translate->__('Welcome to the checkout,Fill in the fields below to complete your purchase');?> !</p>				<?php if (\Yii::$app->user->isGuest): ?>                    <p class="onestepcheckout-login-link">                        <a external  href="<?= Yii::$service->url->getUrl('customer/account/login'); ?>" id="onestepcheckout-login-link"><?= Yii::$service->page->translate->__('Already registered? Click here to login');?>.</a>                    </p>                <?php endif; ?>				<div class="onestepcheckout-threecolumns checkoutcontainer onestepcheckout-skin-generic onestepcheckout-enterprise">					<div class="onestepcheckout-column-left">						<?php # address 部门							//echo $address_view_file;							$addressView = [								'view'	=> $address_view_file,							];							//var_dump($address_list);							$addressParam = [								'cart_address_id' 	=> $cart_address_id,								'address_list'	  	=> $address_list,								'customer_info'	  	=> $customer_info,								'country_select'  	=> $country_select,								'state_html'  	  	=> $state_html,								'cart_address'		=> $cart_address,								//'payments' => $payments,								//'current_payment_mothod' => $current_payment_mothod,							];						?>						<?= Yii::$service->page->widget->render($addressView,$addressParam); ?>										</div>					<div class="onestepcheckout-column-middle">						<div class="shipping_method_html">							<?php # shipping部分								$shippingView = [									'view'	=> 'checkout/onepage/index/shipping.php'								];								$shippingParam = [									'shippings' => $shippings,								];							?>							<?= Yii::$service->page->widget->render($shippingView,$shippingParam); ?>						</div>														<?php # payment部分							$paymentView = [								'view'	=> 'checkout/onepage/index/payment.php'							];							$paymentParam = [								'payments' => $payments,								'current_payment_mothod' => $current_payment_mothod,							];						?>						<?= Yii::$service->page->widget->render($paymentView,$paymentParam); ?>																		<div class="onestepcheckout-coupons">							<div style="display: none;" id="coupon-notice"></div>							<div class="op_block_title"><?= Yii::$service->page->translate->__('Coupon codes (optional)');?></div>							<label for="id_couponcode"><?= Yii::$service->page->translate->__('Enter your coupon code if you have one.');?></label>														<input type="hidden" class="couponType"  value="<?= $cart_info['coupon_code'] ? 1 : 2 ; ?>"  />							<input style="color:#777;" class="input-text" id="id_couponcode" name="coupon_code" value="<?= $cart_info['coupon_code']; ?>">							<br>							<button style="" type="button" class="submitbutton add_coupon_submit" id="onestepcheckout-coupon-add"><?= Yii::$service->page->translate->__($cart_info['coupon_code'] ? 'Cancel Coupon' : 'Add Coupon') ; ?></button>							<div class="clear"></div>							<div class="coupon_add_log"></div>						</div>						                        <div class="onestepcheckout-coupons">							<div class="op_block_title"><?= Yii::$service->page->translate->__('Order Remark (optional)');?></div>							<label for="id_couponcode"><?= Yii::$service->page->translate->__('You can fill in the order remark information below');?></label>							<textarea class="order_remark" name="order_remark" style="width:100%;height:100px;padding:10px;"></textarea>						</div>											</div>					<div class="onestepcheckout-column-right">						<div class="review_order_view">							<?php # review order部分								$reviewOrderView = [									'view'	=> 'checkout/onepage/index/review_order.php'								];								$reviewOrderParam = [									'cart_info' => $cart_info,									'currency_info' => $currency_info,								];							?>							<?= Yii::$service->page->widget->render($reviewOrderView,$reviewOrderParam); ?>													</div>						<div class="onestepcheckout-place-order">							<a class="large orange onestepcheckout-button" href="javascript:void(0)" id="onestepcheckout-place-order"><?= Yii::$service->page->translate->__('Place order now');?></a>							<div class="onestepcheckout-place-order-loading"><img src="<?= Yii::$service->image->getImgUrl('images/opc-ajax-loader.gif'); ?>">  <?= Yii::$service->page->translate->__('Please wait, processing your order...');?></div>						</div>					</div>					<div style="clear: both;"> </div>				</div>			</div>		</form>	</div></div><script><?php $this->beginBlock('placeOrder') ?>	csrfName = $(".thiscsrf").attr("name");	csrfVal = $(".thiscsrf").val();	function validateEmail(email) {		var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;		return re.test(email);	}	// ajax	function ajaxreflush(){		shipping_method = $("input[name=shipping_method]:checked").val();		//alert(shipping_method);		country = $(".billing_country").val();		address_id = $(".address_list").val();		state   = $(".address_state").val();		//alert(state);		if(country || address_id){			$(".onestepcheckout-summary").html('<div style="text-align:center;min-height:40px;"><img src="<?= Yii::$service->image->getImgUrl('images/ajax-loader.gif'); ?>"  /></div>');			$(".onestepcheckout-shipping-method-block").html('<div style="text-align:center;min-height:40px;"><img src="<?= Yii::$service->image->getImgUrl('images/ajax-loader.gif'); ?>"  /></div>');			ajaxurl = "<?= Yii::$service->url->getUrl('checkout/onepage/ajaxupdateorder');  ?>";			$.ajax({				async:false,				timeout: 8000,				dataType: 'json', 				type:'get',				data: {						'country':country,						'shipping_method':shipping_method,						'address_id':address_id,						'state':state,						},				url:ajaxurl,				success:function(data, textStatus){ 					status = data.status;					if(status == 'success'){						$(".review_order_view").html(data.reviewOrderHtml)						$(".shipping_method_html").html(data.shippingHtml);										}										},				error:function (XMLHttpRequest, textStatus, errorThrown){										}			});		}	}		$(document).ready(function(){		currentUrl = "<?= Yii::$service->url->getUrl('checkout/onepage') ?>"		//优惠券		$(".add_coupon_submit").click(function(){			coupon_code = $("#id_couponcode").val();			coupon_type = $(".couponType").val();			coupon_url = "";			$succ_coupon_type = 0;			if(coupon_type == 2){				coupon_url = "<?=  Yii::$service->url->getUrl('checkout/cart/addcoupon'); ?>";				$succ_coupon_type = 1;			}else if(coupon_type == 1){				coupon_url = "<?=  Yii::$service->url->getUrl('checkout/cart/cancelcoupon'); ?>";				$succ_coupon_type = 2;			}			//alert(coupon_type);			if(!coupon_code){				//alert("coupon can not empty!");			}			$data = {"coupon_code":coupon_code};			$data[csrfName] = csrfVal;			$.ajax({				async:true,				timeout: 6000,				dataType: 'json', 				type:'post',				data: $data,				url:coupon_url,				success:function(data, textStatus){ 					if(data.status == 'success'){						$(".couponType").val($succ_coupon_type);						hml = $('.add_coupon_submit').html();						if(hml == '<?= Yii::$service->page->translate->__('Add Coupon');?>'){							$('.add_coupon_submit').html('<?= Yii::$service->page->translate->__('Cancel Coupon');?>');						}else{							$('.add_coupon_submit').html('<?= Yii::$service->page->translate->__('Add Coupon');?>');						}						$(".coupon_add_log").html("");						ajaxreflush();					}else if(data.content == 'nologin'){						$(".coupon_add_log").html("<?= Yii::$service->page->translate->__('you must login your account before you use coupon');?>");					}else{						$(".coupon_add_log").html(data.content);					}				},				error:function (XMLHttpRequest, textStatus, errorThrown){}			});		});				// 对于非登录用户,可以填写密码,进行注册账户,这里进行信息的检查。		$("#id_create_account").click(function(){			if($(this).is(':checked')){				email = $("input[name='billing[email]']").val();				if(!email){					$(this).prop('checked', false);					$(".label_create_account").html(" <?= Yii::$service->page->translate->__('email address is empty, you must Fill in email');?>");				}else{					thischeckbox = this;					if(!validateEmail(email)){						$(this).prop('checked', false);						$(".label_create_account").html(" <?= Yii::$service->page->translate->__('email address format is incorrect');?>");											}else{						// ajax  get if  email is register						$.ajax({							async:true,							timeout: 6000,							dataType: 'json', 							type:'get',							data: {"email":email},							url:"<?= Yii::$service->url->getUrl('customer/ajax/isregister'); ?>",							success:function(data, textStatus){ 								if(data.registered == 2){									$(".label_create_account").html("");									$("#onestepcheckout-li-password").show();									$("#onestepcheckout-li-password input").addClass("required-entry");													}else{									$(thischeckbox).prop('checked', false);									$(".label_create_account").html(" <?= Yii::$service->page->translate->__('This email is registered , you must fill in another email');?>");								}							},							error:function (XMLHttpRequest, textStatus, errorThrown){}						});					}				}			}else{				$(".label_create_account").html("");				$("#onestepcheckout-li-password").hide();				$("#onestepcheckout-li-password input").removeClass("required-entry");			}		});		//###########################		//下单(这个部分未完成。)		$("#onestepcheckout-place-order").click(function(){			$(".validation-advice").remove();			i = 0;			j = 0;			address_list = $(".address_list").val();			// shipping			shipment_method = $(".onestepcheckout-shipping-method-block input[name='shipping_method']:checked").val();			//alert(shipment_method);			if(!shipment_method){				$(".shipment-methods").after('<div style=""  class="validation-advice"><?= Yii::$service->page->translate->__('This is a required field.');?></div>');				j = 1;			}			//alert(j);			//payment  			payment_method = $("#checkout-payment-method-load input[name='payment_method']:checked").val();			//alert(shipment_method);			if(!payment_method){				$(".checkout-payment-method-load").after('<div style=""  class="validation-advice"><?= Yii::$service->page->translate->__('This is a required field.');?></div>');				j = 1;			}						if(address_list){				if(!j){					$(".onestepcheckout-place-order").addClass('visit');									$("#onestepcheckout-form").submit();				}			}else{				//alert(11);				//alert(j);				$("#onestepcheckout-form .required-entry").each(function(){					value = $(this).val();					if(!value){						//alert(this);						//alert($(this).attr('name'));						i++;						$(this).after('<div style=""  class="validation-advice"><?= Yii::$service->page->translate->__('This is a required field.');?></div>');					}				});				//email  format validate				user_email = $("#billing_address .validate-email").val();				if(user_email && !validateEmail(user_email)){					$("#billing_address .validate-email").after('<div style=""  class="validation-advice"><?= Yii::$service->page->translate->__('email address format is incorrect');?></div>');					i++;				}				// password 是否长度大于6,并且两个密码一致				if($("#id_create_account").is(':checked')){					new_user_pass = $(".customer_password").val();					new_user_pass_cm = $(".customer_confirm_password").val();					//alert(new_user_pass);					//alert(new_user_pass.length);					//alert(new_user_pass_cm);					<?php 						$passwdMinLength = Yii::$service->customer->getRegisterPassMinLength();						$passwdMaxLength = Yii::$service->customer->getRegisterPassMaxLength();					?>					passwdMinLength = "<?= $passwdMinLength ?>";					passwdMaxLength = "<?= $passwdMaxLength ?>";					if(new_user_pass.length < passwdMinLength){						$(".customer_password").after('<div style=""  class="validation-advice"><?= Yii::$service->page->translate->__('Password length must be greater than or equal to {passwdMinLength}',['passwdMinLength' => $passwdMinLength]);?></div>');						i++;					}else if(new_user_pass.length > passwdMaxLength){						$(".customer_password").after('<div style=""  class="validation-advice"><?= Yii::$service->page->translate->__('Password length must be less than or equal to {passwdMaxLength}',['passwdMaxLength' => $passwdMaxLength]);?></div>');						i++;					}else if(new_user_pass != new_user_pass_cm){						$(".customer_confirm_password").after('<div style=""  class="validation-advice"><?= Yii::$service->page->translate->__('The passwords are inconsistent');?></div>');						i++; 					}  				}				//alert(222);				if(!i && !j){					//alert(333);					$(".onestepcheckout-place-order").addClass('visit');					$("#onestepcheckout-form").submit();				}			}					});		//登录用户切换地址列表		$(".address_list").change(function(){			val = $(this).val();			if(!val){				$(".billing_address_list_new").show();				 				$(".save_in_address_book").attr("checked","checked");				ajaxreflush();							}else{				$(".billing_address_list_new").hide();				$(".save_in_address_book").attr("checked",false);				addressid = $(this).val();								if(addressid){					ajaxreflush();				}			}		});		// 国家选择后,state需要清空,重新选择或者填写		$(".billing_country").change(function(){			country = $(this).val();			//state   = $(".address_state").val();			//shipping_method = $("input[name=shipping_method]:checked").val();			//alert(shipping_method);						//$(".onestepcheckout-shipping-method-block").html('<div style="text-align:center;min-height:40px;"><img src="http://www.intosmile.com/skin/default/images/ajax-loader.gif"  /></div>');			//$(".onestepcheckout-summary").html('<div style="text-align:center;min-height:40px;"><img src="http://www.intosmile.com/skin/default/images/ajax-loader.gif"  /></div>');			ajaxurl = "<?= Yii::$service->url->getUrl('checkout/onepage/changecountry'); ?>";						$.ajax({				async:true,				timeout: 8000,				dataType: 'json', 				type:'get',				data: {						'country':country,						//'shipping_method':shipping_method,						//'state':state						},				url:ajaxurl,				success:function(data, textStatus){ 					$(".state_html").html(data.state);									},				error:function (XMLHttpRequest, textStatus, errorThrown){										}			});			ajaxreflush();			});		// state select 改变后的事件		$(".input-state").off("change").on("change","select.address_state",function(){			ajaxreflush();		});		// state input 改变后的事件		$(".input-state").off("blur").on("blur","input.address_state",function(){			ajaxreflush();		});		//改变shipping methos		$(".onestepcheckout-column-middle").off("click").on("click","input[name=shipping_method]",function(){			ajaxreflush();		});	});		//ajaxreflush();<?php $this->endBlock(); ?> <?php $this->registerJs($this->blocks['placeOrder'],\yii\web\View::POS_END);//将编写的js代码注册到页面底部 ?></script>    	
 |