10 мая 2015 г.

OpenCart 2.x прокрутка вверх при добавлении в корзину

У большинства версий  движка OC на стандартном шаблоне есть неприятная плюшка - прокрутка страницы вверх при добавлении в корзину,закладки, сравнения, очень раздражает.

В интернете есть несколько советов о том, как выключить прокрутку, и создать вывод сообщения (на 2.х сообщение не работает). Также можно найти модули.

А я решил сделать другой вариант - при нажатии на кнопку "Купить" изменяется слово в этой кнопке, на "В корзине".
Логика проста, в тег:
<button></button>
В файле шаблона (category.tpl,search.tpl & etc) помещаем
<label></label>



С уникальным идентификатором, и нашим содержимым, у меня выглядит так:
<button type="button" onclick="addQtyToCart('<?php echo $product['product_id']; ?>');" id="addCart_<?php echo $product['product_id']; ?>">
 <i class="fa fa-shopping-cart"></i>
 <span class="hidden-xs hidden-sm hidden-md"><?php echo $button_cart; ?></span>
<!--Вот наша вставка. НАЧАЛО-->
 <label id="addCartlabel_<?php echo $product['product_id']; ?>" style="display:none">
  <i class="fa fa-check-circle"></i>
  <span class="hidden-xs hidden-sm hidden-md"><?php echo $button_cart_succsess; ?></span>
 </label> 
<!--Вот наша вставка. КОНЕЦ-->
</button>
Далее необходимо внести изменения в common.js:
if (json['success']) {
//$('#content').parent().before('<div class="alert alert-success"><i class="fa fa-check-circle"></i> ' + json['success'] + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');


$('#cart-total').html(json['total']);
//BEGIN
//сначала скрываем все дочерние элементы 
$('#addCart_'+product_id).children().hide(); 
//Label имеет id привязанный к id продукта 
//потом показываем label 
$('#addCartlabel_'+product_id).css("display","block");
//END

//$('html, body').animate({ scrollTop: 0 }, 'slow');


$('#cart > ul').load('index.php?route=common/cart/info ul li');
}

Комментариев нет:

Отправка комментария