Сам разбирался долго поэтому для "Одареных"
Opencart 1.4.9.x
OcStore 0.1.7 0.1.8 0.1.9
catalog/view/theme/default/template/product/category.tpl
добавить/заменить после
<a class="button_add_small" href="<?php echo $products[$j]['add']; ?>" title="<?php echo $button_add_to_cart; ?>" > </a>
добавить: <a href="#" onclick="buyProduct(<?php echo $products[$j]['id']; ?>);return false;" id="add_to_cart<?php echo $products[$j]['id']; ?>" class="buy"></a>
----
catalog/controller/products/category.php
добавить после $this->data['products'][] = array(
это:
'id' => $result['product_id'], /*это та самая строчка*/
-----
catalog/view/theme/default/template/common/header.tpl
Добaвляем между тегами <head> ******* </head>
это:
<script type="text/javascript">
function buyProduct(id)
{
$.ajax({
type: 'post',
url: 'index.php?route=module/cart/callback',
dataType: 'html',
data: 'product_id='+id+'&quantity=1',
success: function (html) {
$('#module_cart').html(html);
},
complete: function () {
var image = $('#image'+id).offset();
var cart = $('#module_cart').offset();
$('#image'+id).before('<img src="' + $('#image'+id).attr('src') + '" id="temp" style="position: absolute; top: ' + image.top + 'px; left: ' + image.left + 'px;" />');
params = {
top : cart.top + 'px',
left : cart.left + 'px',
opacity : 0.0,
width : $('#module_cart').width(),
heigth : $('#module_cart').height()
};
$('#temp').animate(params, 'slow', false, function () {
$('#temp').remove();
});
}
});
}
</script>
----
Анимация премещения картинки в корзину
catalog/view/theme/default/template/product/category.tpl
заменить это <a href="<?php echo $products[$j]['href']; ?>"><img src="<?php echo $products[$j]['thumb']; ?>" title="<?php echo $products[$j]['name']; ?>" alt="<?php echo $products[$j]['name']; ?>" /></a><br />
на это
<a href="<?php echo $products[$j]['href']; ?>"><img src="<?php echo $products[$j]['thumb']; ?>" title="<?php echo $products[$j]['name']; ?>" alt="<?php echo $products[$j]['name']; ?>" id="image<?php echo $products[$j]['id']; ?>" /></a>