0

我有一个用 HTML5 设计的网站,我想链接到产品结帐页面,但我真的不想使用所有 BuyButton 的格式和所有附加功能。

这是 Shopify 告诉我使用的代码:

<div id='product-component-xxx'></div>
<script type="text/javascript">
/*<![CDATA[*/
(function () {
  var scriptURL = 'https://sdks.shopifycdn.com/buy-button/latest/buy-button-storefront.min.js';
  if (window.ShopifyBuy) {
    if (window.ShopifyBuy.UI) {
      ShopifyBuyInit();
    } else {
      loadScript();
    }
  } else {
    loadScript();
  }
  function loadScript() {
    var script = document.createElement('script');
    script.async = true;
    script.src = scriptURL;
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(script);
    script.onload = ShopifyBuyInit;
  }
  function ShopifyBuyInit() {
    var client = ShopifyBuy.buildClient({
      domain: 'xxx.myshopify.com',
      storefrontAccessToken: 'xxx',
    });
    ShopifyBuy.UI.onReady(client).then(function (ui) {
      ui.createComponent('product', {
        id: 'xxx',
        node: document.getElementById('product-component-xxx'),
        moneyFormat: '%24%7B%7Bamount%7D%7D',
        options: {
  "product": {
    "styles": {
      "product": {
        "@media (min-width: 601px)": {
          "max-width": "calc(25% - 20px)",
          "margin-left": "20px",
          "margin-bottom": "50px"
        }
      },
      "button": {
        "font-weight": "bold",
        "font-size": "18px",
        "padding-top": "17px",
        "padding-bottom": "17px",
        ":hover": {
          "background-color": "#ff0042"
        },
        "background-color": "#ca0027",
        ":focus": {
          "background-color": "#ff0042"
        },
        "border-radius": "7px",
        "padding-left": "100px",
        "padding-right": "100px"
      },
      "quantityInput": {
        "font-size": "18px",
        "padding-top": "17px",
        "padding-bottom": "17px"
      }
    },
    "buttonDestination": "checkout",
    "contents": {
      "img": false,
      "title": false,
      "price": false
    },
    "text": {
      "button": "Buy now"
    }
  },
  "productSet": {
    "styles": {
      "products": {
        "@media (min-width: 601px)": {
          "margin-left": "-20px"
        }
      }
    }
  },
  "modalProduct": {
    "contents": {
      "img": false,
      "imgWithCarousel": true,
      "button": false,
      "buttonWithQuantity": true
    },
    "styles": {
      "product": {
        "@media (min-width: 601px)": {
          "max-width": "100%",
          "margin-left": "0px",
          "margin-bottom": "0px"
        }
      },
      "button": {
        "font-weight": "bold",
        "font-size": "18px",
        "padding-top": "17px",
        "padding-bottom": "17px",
        ":hover": {
          "background-color": "#ff0042"
        },
        "background-color": "#ca0027",
        ":focus": {
          "background-color": "#ff0042"
        },
        "border-radius": "7px",
        "padding-left": "100px",
        "padding-right": "100px"
      },
      "quantityInput": {
        "font-size": "18px",
        "padding-top": "17px",
        "padding-bottom": "17px"
      }
    },
    "text": {
      "button": "Add to cart"
    }
  },
  "cart": {
    "styles": {
      "button": {
        "font-weight": "bold",
        "font-size": "18px",
        "padding-top": "17px",
        "padding-bottom": "17px",
        ":hover": {
          "background-color": "#ff0042"
        },
        "background-color": "#ca0027",
        ":focus": {
          "background-color": "#ff0042"
        },
        "border-radius": "7px"
      }
    },
    "text": {
      "total": "Subtotal",
      "button": "Checkout"
    },
    "popup": false
  },
  "toggle": {
    "styles": {
      "toggle": {
        "font-weight": "bold",
        "background-color": "#ca0027",
        ":hover": {
          "background-color": "#ff0042"
        },
        ":focus": {
          "background-color": "#ff0042"
        }
      },
      "count": {
        "font-size": "18px"
      }
    }
  }
},
      });
    });
  }
})();
/*]]>*/
</script>

但我真的只想要一个简单的 HTML 链接去产品结帐页面

立即购买

我怎样才能做到这一点?有没有办法保留我想要和使用的样式,只需让购买按钮打开链接?

谢谢

4

1 回答 1

0

这里有两个非常简单的选择:

  1. 只需使用结帐 API,它是一个休息 API,您可以在此处与 fetch、axios、ajax 一起使用更多详细信息

  2. 如果您需要更简单的东西,您甚至可以使用ajax cart api进行经典表单发布,您需要产品的变体 ID 加上数量。

要查找变体的 ID,请在 shopify 管理员上转到产品页面并在末尾添加 .xml。改变

your-store.myshopify.com/admin/products/2373831663781

your-store.myshopify.com/admin/products/2373831663781.xml

之后,您可以执行以下操作:

await fetch('your-store.myshopify.com/cart/add.js', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    id: 'XXX',
    quantity: 1,
  })
});

它以 json 响应,或者您可以/cart/add在表单提交上使用,它将重定向到结帐。

于 2021-01-15T06:22:54.820 回答