【问题标题】:Remove Fancybox Magento Add to Cart删除 Fancybox Magento 添加到购物车
【发布时间】:2014-10-20 06:04:49
【问题描述】:

我在产品页面上遇到了 Magento 添加到购物车按钮的问题,当单击添加到购物车按钮时,它会显示一个带有结帐按钮的弹出窗口,但我不希望该弹出窗口,否则我想重定向添加到购物车单击时到结帐页面的按钮。我评论了网站上的每个fancybox代码,但没有任何帮助。你能帮我解决这个问题吗?

我的测试网站是:usecureme.mythstreet.com

【问题讨论】:

  • 发布您的添加到购物车按钮代码。

标签: javascript php jquery magento fancybox


【解决方案1】:

您可以在您的产品页面中查看一些 javascript 代码。

productAddToCartForm.submit = function(button, url) {
            if (this.validator.validate()) {
                var form = this.form;
                var oldUrl = form.action;
                if (url) {
                    form.action = url;
                }
                var e = null;
                if ( $(button).id.indexOf('ec_shortcut') != -1  ) {
                    try {
                        this.form.submit();
                        return;
                    } catch (e) {
                    }
                }
                if (!url) {
                    url = jQuery('#product_addtocart_form').attr('action');
                }
                url = url.replace("checkout/cart","oxajax/cart");
                url = url.replace("wishlist/index/cart", "oxajax/cart/add");
                var data = jQuery('#product_addtocart_form').serialize();
                data += '&isAjax=1';
                if ('https:' == document.location.protocol) {
                    url = url.replace('http:', 'https:');
                }
                jQuery.fancybox.showActivity();
                jQuery.ajax({
                    url:url,
                    dataType:'jsonp',
                    type:'post',
                    data:data,
                    success:function (data) {
                        Olegnax.Ajaxcart.helpers.showMessage(data.message);
                        Olegnax.Ajaxcart.helpers.cartSuccessFunc(data);
                    }
                });
                this.form.action = oldUrl;
                if (e) {
                    throw e;
                }
            }
        }.bind(productAddToCartForm);

在这段 javascript 代码中,更改以下代码:

Olegnax.Ajaxcart.helpers.showMessage(data.message);
Olegnax.Ajaxcart.helpers.cartSuccessFunc(data);

收件人:

location.href = '/checkout'; or ( location.href="/onepage" )

并且还去掉这行 jQuery.fancybox.showActivity();

换句话说,删除两行并添加一个新行( location.href='/checkout'; )

然后,它会在添加到购物车后立即重定向到结帐页面。

【讨论】:

  • 您的答案可能有效,但我未能找到代码,但我找到了另一个解决方案,请阅读下文。
  • 是的。您可以禁用 ajax 购物车模块,但在添加到购物车时它不会重定向到结帐页面。尽管 ajaxcart 模块已禁用,但您应该更新该 javascript。
  • 不,我不需要这样做。我刚刚停用它,然后在配置设置下,我让它在“添加到购物车”之后重定向到“结帐”页面。然后我进入购物车控制器文件并将链接从“结帐”更改为“单页”结帐,这就是我需要的。
【解决方案2】:

这很简单。它基本上是位于 Magento 文件夹下的 AjaxCart 模块。要找到并禁用 ajaxcart,请转到:

app/etc/modules/Ajaxcart.xml

打开它,会出现如下代码:

<?xml version="1.0"?>
<config>
    <modules>
        <Ajaxcart>
            <active>true</active>
            <codePool>local</codePool>
        </Ajaxcart>
    </modules>
</config> 

用“假”代替真。

                <active>false</active>

就是这样!

【讨论】:

    【解决方案3】:

    对于 Magento 1,转到系统 -> 高级 -> 高级并在“禁用模块输出”部分中查找“Ajaxcart”模块。禁用模块。清除缓存。

    【讨论】:

      【解决方案4】:

      对于 Magento 2,导航到商店 > 配置 > 销售 > 结帐 > 购物车。查找“将产品重定向添加到购物车后”。

      【讨论】:

        猜你喜欢
        • 2015-08-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多