我正在尝试将产品直接添加到购物车中,该购物车来自外部页面。我有一个外部页面,我有一个按钮。
当我们点击该按钮时,产品详细信息应该转到virtmart中的购物车,它不应该影响virtmart添加到购物车功能。
我该怎么做才能实现。如果你知道答案对我有帮助。提前谢谢。
答案 0 :(得分:0)
好问题,我在我的一个自定义组件页面中实现了这个概念。您可以在任何地方使用它,只需提供产品ID和数量即可。 以下是您必须在页面中实现的代码:
不要忘记更改以下div中的变量:
数量=“1”将1替换为您的数量
“$ res-> virtuemart_product_id”将其替换为您的产品ID
将以下div放入您的页面:
<div class="addtocart-bar">
<span class="addtocart-button" style="float:right !important;">
<input type="submit" url='<?php echo JRoute::_("index.php?option=com_virtuemart&nosef=1&view=cart&task=addJS&format=json&lang=en&quantity=1&quantity%5B%5D=1&view=cart&virtuemart_product_id%5B%5D=$res->virtuemart_product_id&option=com_virtuemart"); ?>' title="Add to Cart" value="Add to Cart" id="btn_addtocart" class="bttn right" name="addtocart">
</span>
<div class="clear"></div>
</div>
在页面顶部,您必须添加以下代码:
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
jQuery(document).ready(function(){
jQuery("[name=addtocart]").click(function(e){
e.preventDefault();
var url = $(this).attr('url');
jQuery.ajax({
type:"POST",
url: url,
async:false,
data:{'p_id' : 1 },
success: function(html){
var msg ="<div id='fancybox-content'><div style='width:auto;height:auto;overflow: auto;position:relative;'><div class='popUp_Box'><p>This item has been added to your shopping cart.</p><a class='continue bttn rmv_brdr btn_fix' href='index.php?option=com_virtuemart&view=categories&virtuemart_category_id=0'>Keep Shopping</a><?php if($user->id){ ?><a href='index.php?option=com_virtuemart&view=cart' class='showcart floatright bttn btn_fix'>Check Out</a><?php }else{ ?><a href='index.php?option=com_users&view=login&checkout=1' class='showcart floatright bttn btn_fix'>Check Out</a><?php } ?></div></div></div><a id='fancybox-close' style='display: block;'></a>";
jQuery.fancybox({
"titlePosition" : "inside",
"transitionIn" : "elastic",
"transitionOut" : "elastic",
"type" : "html",
"autoCenter" : true,
"closeBtn" : true,
"closeClick" : false,
"content" : msg
}
);
}
});
});
});
</script>
如果您在根文件夹中保存了fancybox插件,则上面的脚本将起作用,为此请从“http://fancyapps.com/fancybox/#license”下载fancybox插件。我使用了fancybox,因为当订单添加到购物车时,您的订单确认将显示在fancybox中,看起来很棒。我还附加了一个图像,以显示你必须添加fancybox插件文件夹的位置。我希望这对你有很大的帮助。
问候
莫希特:)