Jump to content
Sign in to follow this  
zrishat

Модификация формы оформления заказа

Recommended Posts

Где собирается

index.php?route=checkout/checkout

?

Хочу оставить только личные данные, без регистрации.

Ну и кнопку подтвердить.

Подключать дополнительный модуль не вариант, хочется разобраться, где и как все это собирается.

В checkout.tpl только как я понял js для перехода по пунктам.

версия опенкарта 1.5.5.1

Share this post


Link to post
Share on other sites

Собирается все в контроллере

/catalog/controller/checkout/checkout.php

Тплка - только выводит готовые данные. Купите за 30 долларов симплу, и не мучайтесь. Установка на ура, инструкция подробная, настроек миллион, ваши задачи решает с головой...

Если будете сами колупаться, проколупаетесь месяц. Потратите времени сколько... Вряд ли оно стоит меньше чем 30 бакинских.

  • +1 2

Share this post


Link to post
Share on other sites

Поковырял ajax, понял, что ковыряю правильно.

Мне как раз надо было изменить отображение (checkout.tpl )

Сменил:

checkout/login

на

checkout/guest

Теперь как надо, но как вывести все пункты сразу? Чтобы не было анимации

Share this post


Link to post
Share on other sites

Сократил до такого состояния, правда теперь при нажатии на кнопку продолжить не знаю как вывести checkout/success

чтобы заказ реально оформился

<script type="text/javascript">
$(document).ready(function() {
$.ajax({
 url: 'index.php?route=checkout/guest',
 dataType: 'html',
 success: function(html) {
  $('#payment-address .checkout-content').html(html);
},
 error: function(xhr, ajaxOptions, thrownError) {
  alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
 }
});
});
// Guest
$('#button-guest').live('click', function() {
$.ajax({
 url: 'index.php?route=checkout/guest/validate',
 type: 'post',
 data: $('#payment-address input[type=\'text\'], #payment-address input[type=\'checkbox\']:checked, #payment-address input[type=\'radio\']:checked, #payment-address input[type=\'hidden\'], #payment-address select'),
 dataType: 'json',
 beforeSend: function() {
  $('#button-guest').attr('disabled', true);
  $('#button-guest').after('<span class="wait"> <img src="catalog/view/theme/default/image/loading.gif" alt="" /></span>');
 },
 complete: function() {
  $('#button-guest').attr('disabled', false);
  $('.wait').remove();
 },  
 success: function(json) {
  $('.warning, .error').remove();

  if (json['redirect']) {
   location = json['redirect'];
  } else if (json['error']) {
   if (json['error']['warning']) {
 $('#payment-address .checkout-content').prepend('<div class="warning" style="display: none;">' + json['error']['warning'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');

 $('.warning').fadeIn('slow');
   }

   if (json['error']['firstname']) {
 $('#payment-address input[name=\'firstname\'] + br').after('<span class="error">' + json['error']['firstname'] + '</span>');
   }

   if (json['error']['lastname']) {
 $('#payment-address input[name=\'lastname\'] + br').after('<span class="error">' + json['error']['lastname'] + '</span>');
   }

   if (json['error']['email']) {
 $('#payment-address input[name=\'email\'] + br').after('<span class="error">' + json['error']['email'] + '</span>');
   }

   if (json['error']['telephone']) {
 $('#payment-address input[name=\'telephone\'] + br').after('<span class="error">' + json['error']['telephone'] + '</span>');
   }

   if (json['error']['company_id']) {
 $('#payment-address input[name=\'company_id\'] + br').after('<span class="error">' + json['error']['company_id'] + '</span>');
   }

   if (json['error']['tax_id']) {
 $('#payment-address input[name=\'tax_id\'] + br').after('<span class="error">' + json['error']['tax_id'] + '</span>');
   }

   if (json['error']['address_1']) {
 $('#payment-address input[name=\'address_1\'] + br').after('<span class="error">' + json['error']['address_1'] + '</span>');
   }

   if (json['error']['city']) {
 $('#payment-address input[name=\'city\'] + br').after('<span class="error">' + json['error']['city'] + '</span>');
   }

   if (json['error']['postcode']) {
 $('#payment-address input[name=\'postcode\'] + br').after('<span class="error">' + json['error']['postcode'] + '</span>');
   }

   if (json['error']['country']) {
 $('#payment-address select[name=\'country_id\'] + br').after('<span class="error">' + json['error']['country'] + '</span>');
   }

   if (json['error']['zone']) {
 $('#payment-address select[name=\'zone_id\'] + br').after('<span class="error">' + json['error']['zone'] + '</span>');
   }
  } else {
   alert("test");
   /*
   $.ajax({
 url: 'index.php?route=checkout/confirm',
 dataType: 'html',
 success: function(html) {
  $('#payment-method .checkout-content').html(html);
  //$('#payment-address .checkout-content').slideUp('slow');
  $('#payment-method .checkout-content').slideDown('slow');
  $('#payment-address .checkout-heading a').remove();
  $('#payment-method .checkout-heading a').remove();
  $('#payment-address .checkout-heading').append('<a><?php echo $text_modify; ?></a>');
 },
 error: function(xhr, ajaxOptions, thrownError) {
  alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
 }
   });
   */
  } 
 },
 error: function(xhr, ajaxOptions, thrownError) {
  alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
 }
});
});
</script>

Share this post


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
You are posting as a guest. If you have an account, please sign in.
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.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.