Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

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


Recommended Posts

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

index.php?route=checkout/checkout

?

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

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

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

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

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

Link to comment
Share on other sites


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

/catalog/controller/checkout/checkout.php

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

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

  • +1 2
Link to comment
Share on other sites


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

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

Сменил:

checkout/login

на

checkout/guest

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

Link to comment
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>

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

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.