如何在点击某个按钮的同时将产品从外部页面添加到virtmart中

时间:2013-04-16 09:58:14

标签: virtuemart

我正在尝试将产品直接添加到购物车中,该购物车来自外部页面。我有一个外部页面,我有一个按钮。

当我们点击该按钮时,产品详细信息应该转到virtmart中的购物车,它不应该影响virtmart添加到购物车功能。

我该怎么做才能实现。如果你知道答案对我有帮助。提前谢谢。

1 个答案:

答案 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插件文件夹的位置。我希望这对你有很大的帮助。

Place fancybox plugin folder at this position.

问候

莫希特:)