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

Быстрое оформление заказа


ingenerks

Recommended Posts

Хочу поделится как можно сократить поля по оформлению заказа до 2-3 вкладок.

Для начала нужно, что бы при оформлении заказа в первом шаге, радиобокс автоматом переключался на пункт " Оформить заказ без регистрации"

Для этого

в файле

catalog/view/theme/default/template/checkout/login.tpl

находим код

<input type="radio" name="account" value="register" id="register" checked="checked"/>

<?php } else { ?>

<input type="radio" name="account" value="register" id="register" />

<?php } ?>

<b><?php echo $text_register; ?></b></label>

<br />

<?php if ($guest_checkout) { ?>

<label for="guest">

<?php if ($account == 'guest') { ?>

<input type="radio" name="account" value="guest" id="guest" checked="checked" />

<?php } else { ?>

<input type="radio" name="account" value="guest" id="guest" />

и меняем его на

<input type="radio" name="account" value="register" id="register" />

<?php } else { ?>

<input type="radio" name="account" value="register" id="register" />

<?php } ?>

<b><?php echo $text_register; ?></b></label>

<br />

<?php if ($guest_checkout) { ?>

<label for="guest">

<?php if ($account == 'guest') { ?>

<input type="radio" name="account" value="guest" id="guest" checked="checked" />

<?php } else { ?>

<input type="radio" name="account" value="guest" id="guest" checked="checked" />

теперь при офрмлении заказа радиобокс автоматом устанавливается на пункт "Оформить заказ без регистрации"

Далее убираем отображение шагов доставки.

Ищем файл cart.php

находится в "system/library/cart.php">

Открываем его ищем в нем строку public function hasShipping() {

примерно (382-я) после этой строки вставляем

return false; ее нужно вставить перед строкой $shipping = false;

Сохраняем при этом должны пропасть 3 и 4 Шаг оформления заказа

Далее убираем первый шаг 1. Способ оформления заказа

catalog/view/theme/default/template/checkout/login.tpl:

Прописываем вверху этого файла

<script language="Javascript" type="text/javascript">

$(document).ready(function(){

$('#button-account').trigger('click');

});

</script>

Далее убираем отображение этого поля в форме оформления заказа.

catalogviewthemedefaultstylesheetstylesheet.css

Прописываем

#checkout {

display:none; }

Теперь у нас осталось 3 Шага оформления заказа

Профиль & Платежная информация

Способ оплаты

Подтверждение заказа

Если нобходимо еще убрать и Способ оплаты тогда

catalog/view/theme/default/template/checkout/payment_method.tpl

добавляем в самом верху

<script language="Javascript" type="text/javascript">

$(document).ready(function(){

$('#button-payment-method').trigger('click');

});

</script>

затем в этом же файле ищем строчку примерно 36 строка

<input type="checkbox" name="agree" value="1"/>

и меняем ее на

<input type="checkbox" name="agree" value="1" checked="checked" />

Далее убираем отображение шага Способ оплаты в нашей форме. Открываем файл

catalogviewthemedefaultstylesheetstylesheet.css

прописываем

#payment-method {

display:none;

}

Теперь у нас только два шага для оформления заказа

Профиль & Платежная информация

Подтверждение заказа

Изменить название этих шагов можно в файле

cataloglanguagerussiancheckoutcheckout.php

Если кому то нужно удалить ненужные поля в шаге Профиль и Платежная информация, то в нете куча статей на эту тему.

Возможно чуть позже сам опишу как убрать ненужные поля!

post-19940-0-69548300-1338585144_thumb.jpg

post-19940-0-28958100-1338585163_thumb.jpg

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

  • 3 weeks later...

Можешь посмотреть и добавить сюда пункт по поводу, как сделать 2 шаг по умолчанию, потому что после удаления 1 шага на 2 шаг нельзя перейти, надеюсь понял суть моих слов.

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


Можешь посмотреть и добавить сюда пункт по поводу, как сделать 2 шаг по умолчанию, потому что после удаления 1 шага на 2 шаг нельзя перейти, надеюсь понял суть моих слов.

Дак оно автоматом бросает сразу на второй шаг.

Я же писал

Далее убираем первый шаг 1. Способ оформления заказа

catalog/view/theme/default/template/checkout/login.tpl:

Прописываем вверху этого файла

<script language="Javascript" type="text/javascript">

$(document).ready(function(){

$('#button-account').trigger('click');

});

</script>

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

2ingenerks: при модификации описанным образом функции hasShipping() шаги выбора доставки не только перестают отображаться, доставка вообще исчезает и в счете не учитывается.

2pivnev: Например вот:

http://ffct.cc/removing-checkout-fields-in-opencart/

По английски, правда если что.

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


  • 3 weeks later...

А как мне убрать Платежную информацию?

Присоединяюсь к вопросу.

Платежные данные меняться не будут и есть необходимость убрать это поле из оформления заказа.

пытался прописать в payment_address.tpl нечто вроде этого:

<script language="Javascript" type="text/javascript">
$(document).ready(function(){
   $('#payment-address a.payment_button-address').trigger('click');
  });
</script>
В различных вариациях к примеру вот сюда:

<script type="text/javascript">
  $(document).ready(function() {
	$("#payment_form").validate();
	if($("#payment_address_id option:selected").length == 0) {
	  $("#payment_address_id option:first").attr("selected", "selected");
	} else {$("#payment_address_id option:first").attr("selected", "selected");
  }});
  </script>
  <script type="text/javascript">
  $(document).ready(function() {
	$('#payment-address select[name='country_id']').bind('change', function(event, first_time) {
	  $.ajax({
		url: 'index.php?route=checkout/checkout/country&country_id=' + this.value,
		dataType: 'json',
		beforeSend: function() {
		  $('#payment-address select[name='country_id']').after('<span class="wait"> <img src="catalog/view/theme/default/image/loading.gif" alt="" /></span>');
		},
		complete: function() {
	
		  $('.wait').remove();
		},
		success: function(json) {
		  if (json['postcode_required'] == '1') {
			$('#payment_form .postcode_div .s_red').show();
			$('#payment_form input[name='postcode']').removeClass("required").addClass("required");
		  } else {
			$('#payment_form .postcode_div .s_red').hide();
			$('#payment_form input[name='postcode']').removeClass("required");
			if (typeof first_time === "undefined") {
			  $("#payment_form").validate().element('#payment_form input[name="postcode"]');
			}
		  }
		  var html = '<option value=""><?php echo $text_select; ?></option>';
		  var selected = false;
		  if (json['zone'] && json['zone'] != '') {
			for (i = 0; i < json['zone'].length; i++) {
			  html += '<option value="' + json['zone'][i]['zone_id'] + '"';
			  if (json['zone'][i]['zone_id'] == '<?php echo $zone_id; ?>') {
				html += ' selected="selected"';
				selected = true;
			  }
			  html += '>' + json['zone'][i]['name'] + '</option>';
			}
		  } else {
			html += '<option value="0" selected="selected"><?php echo $text_none; ?></option>';
		  }
		  $('#payment-address select[name='zone_id']').html(html);
		  if(typeof first_time === "undefined" && selected) {
			$("#payment_form").validate().element('#payment_form select[name="zone_id"]');
		  }
		},
		error: function(xhr, ajaxOptions, thrownError) {
		  alert(thrownError + "rn" + xhr.statusText + "rn" + xhr.responseText);
		}
	  });
	});
	$('#payment-address select[name='country_id']').trigger('change', ['first_time']);

	$('#payment-address input[name='payment_address']').live('change', function() {
	  if (this.value == 'new') {
		$('#payment-existing').hide();
		$('#payment_form').show();
	  } else {
		$('#payment-existing').show();
		$('#payment_form').hide();
	  }
	});
$('#payment-address a.payment_button-address').trigger('click');
  });
  </script>
Код срабатывает, но выдает окошечко с надписью error, которое через 2-3 секунды исчезает и процесс повторяется (срабатывает скрипт -> переходит к следующему шагу -> выдает окошко -> окошко исчезает -> переходит к платежной информации -> срабатывает скрипт ->......) и так до бесконечности.

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

Очень прошу Вашей помощи.

OcStore 1.5.3.1

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


  • 2 weeks later...
  • 1 month later...
  • 1 month later...
  • 5 months later...

а где убрать - Страна и Регион / Область?

.............уже не актуально

Почему не актуально? Мне очень актуально.

Спасибо автору статьи за то, что показал, как удалить лишние поля, но тут не показано как удалить Страна и Регион/Область. Пробовал сам. Пришлось комментировать строки и из других файлов, чтобы без ошибок завершить оформление заказа. Все получилось. Дает сделать все шаги без страны и области, но когда оформление заканчивается, появляется сообщение об успешном завершении заказа, но вверху выдало ошибку. В админке этот заказ не отображается. Видимо что-то лишнее срезал. Снова разбираться в этой куче кода нет больше сил. Принял решение оставить страну и область.

Но если кто-то покажет как грамотно без ошибок удалить эти поля, буду признателен.

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


Почему не актуально? Мне очень актуально.

Спасибо автору статьи за то, что показал, как удалить лишние поля, но тут не показано как удалить Страна и Регион/Область. Пробовал сам. Пришлось комментировать строки и из других файлов, чтобы без ошибок завершить оформление заказа. Все получилось. Дает сделать все шаги без страны и области, но когда оформление заканчивается, появляется сообщение об успешном завершении заказа, но вверху выдало ошибку. В админке этот заказ не отображается. Видимо что-то лишнее срезал. Снова разбираться в этой куче кода нет больше сил. Принял решение оставить страну и область.

Но если кто-то покажет как грамотно без ошибок удалить эти поля, буду признателен.

http://moushe.ru/nashi-stati/web-dizajn-2/opencart-1-5-1-udalyaem-strany-i-regiony/

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


  • 2 weeks later...
  • 3 weeks later...

Хорошее решение. Но возникла проблема: Если заказ оформляет зарегестрированный покупатель, зашедший в систему, тутже появляются сбои. Подскажите, как решить эту проблему.......... 

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


  • 1 month later...

На oc Store 1541 всё получилось, спасибо.

Но есть вопрос: если оставлять два шага, можно ли в первый добавить поле заметок, как это было в скрытых шагах.   В него клиент, к примеру, мог бы вписывать время доставки товара или другие нюансы.

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


  • 2 months later...

Ну вот хоть убей - не могу 

 

Присоединяюсь к вопросу.
Платежные данные меняться не будут и есть необходимость убрать это поле из оформления заказа.
пытался прописать в payment_address.tpl нечто вроде этого:

<script language="Javascript" type="text/javascript">
$(document).ready(function(){
   $('#payment-address a.payment_button-address').trigger('click');
  });
</script>
В различных вариациях к примеру вот сюда:
<script type="text/javascript">
  $(document).ready(function() {
	$("#payment_form").validate();
	if($("#payment_address_id option:selected").length == 0) {
	  $("#payment_address_id option:first").attr("selected", "selected");
	} else {$("#payment_address_id option:first").attr("selected", "selected");
  }});
  </script>
  <script type="text/javascript">
  $(document).ready(function() {
	$('#payment-address select[name=\'country_id\']').bind('change', function(event, first_time) {
	  $.ajax({
		url: 'index.php?route=checkout/checkout/country&country_id=' + this.value,
		dataType: 'json',
		beforeSend: function() {
		  $('#payment-address select[name=\'country_id\']').after('<span class="wait"> <img src="catalog/view/theme/default/image/loading.gif" alt="" /></span>');
		},
		complete: function() {
	
		  $('.wait').remove();
		},
		success: function(json) {
		  if (json['postcode_required'] == '1') {
			$('#payment_form .postcode_div .s_red').show();
			$('#payment_form input[name=\'postcode\']').removeClass("required").addClass("required");
		  } else {
			$('#payment_form .postcode_div .s_red').hide();
			$('#payment_form input[name=\'postcode\']').removeClass("required");
			if (typeof first_time === "undefined") {
			  $("#payment_form").validate().element('#payment_form input[name="postcode"]');
			}
		  }
		  var html = '<option value=""><?php echo $text_select; ?></option>';
		  var selected = false;
		  if (json['zone'] && json['zone'] != '') {
			for (i = 0; i < json['zone'].length; i++) {
			  html += '<option value="' + json['zone'][i]['zone_id'] + '"';
			  if (json['zone'][i]['zone_id'] == '<?php echo $zone_id; ?>') {
				html += ' selected="selected"';
				selected = true;
			  }
			  html += '>' + json['zone'][i]['name'] + '</option>';
			}
		  } else {
			html += '<option value="0" selected="selected"><?php echo $text_none; ?></option>';
		  }
		  $('#payment-address select[name=\'zone_id\']').html(html);
		  if(typeof first_time === "undefined" && selected) {
			$("#payment_form").validate().element('#payment_form select[name="zone_id"]');
		  }
		},
		error: function(xhr, ajaxOptions, thrownError) {
		  alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
		}
	  });
	});
	$('#payment-address select[name=\'country_id\']').trigger('change', ['first_time']);

	$('#payment-address input[name=\'payment_address\']').live('change', function() {
	  if (this.value == 'new') {
		$('#payment-existing').hide();
		$('#payment_form').show();
	  } else {
		$('#payment-existing').show();
		$('#payment_form').hide();
	  }
	});
$('#payment-address a.payment_button-address').trigger('click');
  });
  </script>
Код срабатывает, но выдает окошечко с надписью error, которое через 2-3 секунды исчезает и процесс повторяется (срабатывает скрипт -> переходит к следующему шагу -> выдает окошко -> окошко исчезает -> переходит к платежной информации -> срабатывает скрипт ->......) и так до бесконечности.
Если ставить в другие места, то происходит то же самое, иногда заказы начинают плодиться при каждом срабатывании, иногда нет....
Очень прошу Вашей помощи.
OcStore 1.5.3.1

 

1.5.4.1 То же самое. Помогите кто-нибудь!

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


  • 4 weeks later...

Ну вот хоть убей - не могу 

 

1.5.4.1 То же самое. Помогите кто-нибудь!

Теперь на просторах инета есть для 1.5.4.1 бесплатный мод для простого заказа.

Он работает. Кому нужно - пишите в личку, найду, выложу.

Но сейчас появилась необходимость вернуть выбор способов оплаты.

Разбираюсь, если поможете - буду благодарен.

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


  • 6 months later...
  • 2 weeks later...

У меня ocstore 1.5.4.1 Не срабатывает:

<script language="Javascript" type="text/javascript">
 $(document).ready(function(){
       $('#button-account').trigger('click');
 });
</script>
Помогите. Это работает но только при обновлении страницы
window.onload = function () {
    $('#button-account').trigger('click');
   };
 
Надіслати
Поділитися на інших сайтах

  • 1 year later...

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

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

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

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

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

Вхід

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

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

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

Important Information

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