У нас такое реализовано было здесь
http://nefertiti-gsfr.ru/product/plat-e-00410-61061/
Кнопка в корзину представляет собой такой вид:
<div class="addToCartContainer" data-cart-url="{$router->getUrl('shop-front-cartpage')}">
<a href="{$router->getUrl('shop-front-cartpage', ["add" => $product.id])}" class="buyButton addToCart noShowCart" data-product-page="1">В корзину <i></i></a>
</div>
А на класс addToCartContainer навешено событие, которое дописывает внутрь нужный нам код. В данном случае это выглядит так(theme.js):
var qCartAdd; //Таймер показа подсказки при покупке
/**
* Скрывать подсказку показывающую, что товар добавлен в корзину
*
*/
function hideCartHint(){
clearTimeout(qCartAdd); //Очищаем таймер, если он установлен
$("#cartHint").stop(true,true).fadeOut('slow',function(){ //Делаем затухание
$("#cartHint").remove(); //Удаляем добавлнный нами HTML
});
}
$(function() {
/**
* Событие которое вешается добавление в корзину, чтобы расширить функционал при добавлении в корзину.
* product.add это событие которое вызывается при добавлении в корзину
* @param object e - объект события
* @param object params - параметры из функции добавления в корзину
*/
$('body').on('product.add',function(e, params){
clearTimeout(qCartAdd); //Очищаем таймер, если он установлен
var _this = e.target; //Сама кнопка
var url = $(_this).closest('[data-cart-url]').data('cart-url'); //Откуда берём url корзины
$('#cartHint').stop(true,true).remove(); //Погасим прошлое всплывание, если несколько раз сразу нажали
$(_this).closest('.addToCartContainer').append('<div id="cartHint" class="cartHint"><div><i></i>Товар добавлен в корзину<br/><a href="'+url+'">Перейти в корзину</a></div></div>'); //Добавляем код внутрь
$("#cartHint").fadeIn(200,function(){ //Делаем плавный показ
qCartAdd = setTimeout('hideCartHint()', 3000); //Делаем затухание через 3 секунды
});
});
});
Ну соответственно, надо будет настроить css под себя и разобраться javascript, по другому никак.
Если я Вас правильно понял, то это то что Вам нужно.