ingenerks

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

22 сообщения в этой теме

Хочу поделится как можно сократить поля по оформлению заказа до 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


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

Поделиться этим сообщением


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

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можешь посмотреть и добавить сюда пункт по поводу, как сделать 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>
0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

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


Так а как ее удалить? видать плохой я сыщик :(
0

Поделиться этим сообщением


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

2pivnev: Например вот:
http://ffct.cc/removing-checkout-fields-in-opencart/
По английски, правда если что.
0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
А как мне убрать Платежную информацию?
0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Присоединяюсь к вопросу.
Платежные данные меняться не будут и есть необходимость убрать это поле из оформления заказа.
пытался прописать в 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">&nbsp;<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
0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
не работает на 1.5.3.1 Убираются шаги, но и не появляются окна куда нужно водить данные и т. п.
0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Может кто-нибудь знает, как убрать только шаг 3 - Адрес доставки?
0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Смогла скрыть Шаг 3 в гостевом оформлении заказа, и все работает, но вылезли ошибки в оформлении для зарегистрированных пользователей (
0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

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

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Может кто-нибудь знает, как убрать только шаг 3 - Адрес доставки?

актуально... никто не знает решения?

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

Присоединяюсь к вопросу.
Платежные данные меняться не будут и есть необходимость убрать это поле из оформления заказа.
пытался прописать в 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 То же самое. Помогите кто-нибудь!

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

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

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

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

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

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

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
 

 

post-676930-0-93651100-1398772368_thumb.png

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

У меня 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');
   };
 
0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрое оформление заказа для 2.0.3.1 у кого то есть?

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!


Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.


Войти

  • Недавно просматривали   0 пользователей

    Ни один зарегистрированный пользователь не просматривает эту страницу.