BigCommerce Stencil Checkout - 编辑可用的送货和账单 Countries/States

BigCommerce Stencil Checkout - Edit Available Shipping and Billing Countries/States

是否有安全的方法来更改结帐时的运输和账单国家和州 select 下拉列表?如果这是卖家可以在管理面板中控制的设置就好了,但我不相信它可用。

这是我过去如何处理此问题的示例,但是 我想避免编写 JavaScript 来操纵 DOM 并覆盖默认功能页面加载 据我所知,这不是最佳做法,可能并非所有浏览器都支持...

编辑:我昨天看到这个 PR,但我认为我们不能编辑实际的 {{{ checkout.checkout_content }}}https://github.com/bigcommerce/stencil/pull/940

if(window.location.pathname == "/checkout.php"){
    console.log("loaded from analytics box");

    function handleUSOnlyBillingCountry(){
        $('#FormField_11 option[value="United States"]').addClass("keep-me");
        $('#FormField_11 option[value="Canada"]').addClass("keep-me");
        $('#FormField_11 option[value="Puerto Rico"]').addClass("keep-me");
        $('#FormField_11 option:first-child').addClass("keep-me");
        $('#FormField_11 option').each(function(){
            if(!$(this).hasClass("keep-me")){
                $(this).remove();
            }
        });
    }
}

我检查了商店的运输配置,确认只有美国可以运输,但结账时仍然显示所有国家。输入配置的送货区域之外的地址后,它会显示 "One of more of the items in your cart cannot be shipped to your location"。这有帮助,但我想完全删除这些选项。

我的印象是必须通过控制面板使用运输区域来配置运输国家/地区列表。 https://support.bigcommerce.com/articles/Public/Setting-Up-Shipping-Zones

我们过去确实收到过此请求,但目前没有 javascript 的替代模板。如果您使用优化结账,国家/地区下拉列表将自动限制为您运送到的国家/地区。

在开发人员或蓝图检查中,目前唯一可行的解​​决方案(据我所知)是 javascript。我不相信我们会把它添加到遗留结帐中,但我们正在开发一个未来的结帐 SDK,它可以被使用并且(希望)减少此更改的潜在故障点。