Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


Recommended Posts

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

index.php?route=checkout/checkout

?

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

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

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

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

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

Надіслати
Поділитися на інших сайтах


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

/catalog/controller/checkout/checkout.php

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

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

  • +1 2
Надіслати
Поділитися на інших сайтах


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

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

Сменил:

checkout/login

на

checkout/guest

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

Надіслати
Поділитися на інших сайтах


Сократил до такого состояния, правда теперь при нажатии на кнопку продолжить не знаю как вывести 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>

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.