当产品添加到购物篮时,切换下拉式迷你推车

我在Magento商店的标题中放置了一个jQuery下拉式迷你购物车。 当“你的购物车”链接hover时,菜单下拉列表显示最近添加的项目。

我现在已经集成了Ajax add to cart扩展,允许客户在不刷新页面的情况下添加到购物车。 我现在遇到的问题是,当添加产品时,如果不通过“你的购物车”链接就无法说出来。

我希望能够在添加产品时自动下载迷你购物车,但我不知道该怎么做?

请问有人给我一些建议吗?

提前致谢!

Ajax代码添加到购物车:

 //  And code for Mini-Cart: function slideUp() { jQuery('#topCartContent:visible').slideUp(1000); jQuery('.top-link-cart').addClass('mini-cart-layer-up'); jQuery('.top-link-cart').removeClass('mini-cart-layer-down'); } function slideDown() { jQuery('#topCartContent:hidden').slideDown(1000); /*startTimer()*/ /* optional*/ jQuery('.top-link-cart').addClass('mini-cart-layer-down'); jQuery('.top-link-cart').removeClass('mini-cart-layer-up'); } function toggleTopCart() { if(jQuery('#topCartContent').is(':visible')) { slideUp(); } else { slideDown(); } } var timer; function startTimer() { timer = setTimeout(function(){ slideUp(); }, 5000); } jQuery(document).ready(function(){ jQuery('.top-link-cart').mouseover(function(){ toggleTopCart(); }); jQuery('.top-link-cart').mouseover(function(){ clearTimeout(timer); }).mouseout(function(){ startTimer(); }); jQuery("#topCartContent").mouseover(function() { clearTimeout(timer); }).mouseout(function(){ startTimer(); }); }); 

这非常简单,但是在浪费了我几个小时之后我就学会了这一点(实际上它们并不浪费)

创建观察者以观察何时将产品添加到购物车。

config.xml中

     singleton NameSpace_TriggerEvent_Model_Observer opencartafteradd     

现在,Observer.php

 getEvent(); $product = $event->getProduct(); Mage::getSingleton('core/session')->setOpenMinicart('ON'); } } 

请注意,我们只是将会话变量设置为ON。 在此之后,将使用少量的java脚本处理rest部分,最好是header.phtml或footer.phtml(可用于网站上的每个页面:P)。 我只是切换迷你内容部分并在几秒钟后再次切换

  

如果你使用jQuery slideDown(), – Up()或-Toggle(),你会发现一个动画故障(也就是一个垂直移动的图层一秒)。

所以我做的很简单:

 if ( $('.messages .success-msg').length ) { $('.messages').css('display','none'); // 'disable' default messages on top of content function showCartForASecOrThreeAndAHalf() { $('#mini-cart .menu').css('display','block'); setTimeout(function () { $('#mini-cart .menu').css('display',''); }, 3500); // display:'' to restore previous settings } showCartForASecOrThreeAndAHalf(); } 

希望这可以帮助你进一步;-)

你说’……当添加产品时,如果没有通过“你的购物车”链接,就没有办法说出来。 一定有办法。 触发购物车“下拉”操作的代码是什么?

很可能它是jQuery.sliedeDown或类似的。 在你的ajax调用的成功函数中,你需要执行相同的操作。 或者,您可以以编程方式触发JavaScript事件,例如在成功函数中:$(’#cart’)。mouseover()。