问题标签 [shipping-method]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 根据 WooCommerce 中的购物车项目总数隐藏所有运输方式
当购物车中的总额低于 40 美元时,我需要隐藏所有运输方式。我基本上想禁用所有运输方式,因为我将为我所有区域的每个样品收取 4 美元的固定费用。
需要删除以下选项:
woocommerce - 支持 HTTP API 运输计算所需的 Woocommerce 运输修改
Woocommerce 运输计算运行过于频繁。
Woocommerce 运输设置效果很好,直到您构建了一个自定义运输插件,该插件通过 HTTP API 调用使用外部报价系统,此时您意识到在订单过程中不必要地计算了数十次运输 - 减慢了一切。
我们在澳大利亚邮政系统和快递聚合系统中向外部服务器进行 API 调用,以获取邮政和运费。这需要大约 5 秒来完成两个 API 调用,并且由于calculate_shipping()
似乎在每次添加和修改购物车时都会调用该函数,在进入结帐页面时,然后在结帐页面中相关地址字段的每次击键时都有 5-无处不在的第二次延迟和不必要的 HTTP 调用。
结帐页面上每次击键的 ajax 调用似乎也在排队并一个接一个地处理,因此用户可以坐下来观看 30 秒,同时填充运输选项,然后清除几次,然后才能选择一个。
另一个愚蠢的结果是,引用不完整地址返回的错误最终会将屏幕滚动到显示通知的顶部,这会阻止用户完成输入地址。
所以问题是如何阻止 WC 调用calculate_shipping()
,直到所有运输字段都完成并且可能最后一个字段失去焦点 - 或任何替代建议来做类似的事情并避免多次调用。
为了消除每次购物车添加的运费计算,我只是测试了当前请求 URI,如果不是则直接返回
似乎没问题,但是,我预计以后会有一些并发症,否则为什么 WC 会在每次添加购物车时都这样做。
在结帐时,虽然它是一个不同的故事。我需要运输来运行,但不是每个输入到地址字段的新字符,这似乎是默认功能。似乎有一个计时器在起作用,如果你在输入地址时暂停超过几秒钟,它就会触发update_checkout()
或类似的调用calculate_shipping()
,所以我最终联系了邮政服务器和快递服务器以询问新的报价。(我敢肯定,他们会厌倦这种 DOS 攻击)
我一直在研究 checkout.js 脚本,但真的不想弄乱 WC 功能并且无法更新,所以不确定是否要更改它。
在这个阶段不相关
我想要的是在所有物品都在购物车中并且用户完成输入他们的地址之前不计算运费 - 其他任何东西似乎有点傻。
php - 在 WooCommerce 中隐藏特定运输类别的运输方式
在 WooCommerce 中,我使用“隐藏 WooCommerce 中特定运输类别的运输方式”答案代码(第二种方式)隐藏基于购物车中不同运输类别的运输方式,但问题是我使用管理 2 种语言网站的 WPML 插件,所以只找一门课是行不通的。
所以我需要处理 2 个航运类而不是 1 个。我尝试以这种方式添加 2 个运输类别:
但它破坏了网站。所以我想隐藏定义的统一费率不仅适用于运输类别3031
和3032
.
我做错了什么?如何在不破坏网站的情况下启用 2 个运输类别?
php - WooCommerce 通过 REST API 计算运费
我在应用中的实现就像我的 WooCommerce 网站一样。我想在计算运费时达到以下几点:
- 检查是否需要地址来计算送货地址?
- 如果地址是用户输入的,如何检查该地址是否在运输方式标准之间?如果输入的地址根据运输方式无效,则向用户提供错误。
- 一旦用户输入有效地址,计算所有运输方式的成本。
- 在应用程序中向用户显示所有运输方式,并选择默认方式。
- 当用户在运输方式之间切换时,它也应该保存并与网站同步,并根据所选方式获取购物车总数。
到目前为止,我实现的是第 4 点。我可以通过网站计算所有运输方式,但如果不是通过网站计算,那么它会在那里返回 null。
这是我的 API 代码:
同样对于第 5 点,当用户在运输方式之间切换时,我正在使用此代码,但它不会更新网站上选择的运输方式。这是代码:
我也不知道将哪个方法 id 设置为运输方式。这对我来说似乎很神秘。
任何帮助将不胜感激。谢谢!
android - 如何使用 Google Pay 设置发货回调
我想在我的 Android 应用程序中创建一种付款方式,例如 Google 照片中的付款方式:我想询问送货地址并根据国家/地区动态更新运费。
我遵循Google Pay 文档 ,但它没有给出任何关于如何设置回调的解释,例如,Google Pay 网络文档中的解释。我也尝试寻找一些教程,但似乎没有人尝试做我想做的事情。
例如,我想显示像 这张图片这样的错误
当我尝试创建 JSON 以添加回调时,Google 支付崩溃而不提供任何日志,也没有adb -d logcat -s WalletMerchantError
php - Magento 2 - 从运输中的自定义字段获取数据并显示在管理 > 销售 > 订单和电子邮件中
我创建了一个模块,它在结帐时显示运输中的自定义字段,并将数据库中的数据保存在报价和销售订单表中,我可以确认数据在那里。我正在尝试在查看订单时以及在发出的确认电子邮件中显示数据。我有它,因此模板在管理订单视图中显示回显文本,但不显示数据库中的数据。电子邮件中目前没有显示任何内容,但我想先修复按顺序查看数据。
为了分解它,我在数据库的两个表中有数据,需要在管理员的订单上显示它。我在 extension_attributes.xml 中有字段
这些字段在 Plugin > Quote > SaveToQuote.php 中保存到数据库中:
但是,到目前为止,这是我想出的在管理员中按顺序查看数据的方法,但没有运气。
首先 - 查看>adminhtml>layout>sales_order_view.xml
接下来查看>adminhtml>templates>shipping_info.phtml
我可以在 admin > order 视图中看到上面的回显文本,但看不到 $block 调用的值。
下一步 - 块>Adminhtml>Order>View>OrderView.php
我想我需要上面的,所以我可以调用 $block
下一步 - 观察者>ShippingDataToAdminObserver.php
使用上面的方法获取数据以显示在 admin > sales > order 中,并使用上面的 OrderView.php。我看到了文字,但没有看到数据。
就像我说的那样,我正在尝试获取数据库中的数据(存在)以显示在管理员的订单上,并最终显示在电子邮件中。
我不知道这是否太令人困惑而无法获得帮助。任何想法都非常感谢。
php - 在 WooCommerce 中禁用特定运输区域的“下订单”按钮
如果选择了特定的运输类别,我正在尝试停用“下订单”按钮。运输类别的名称为“Zone 6”。
基于“针对特定运输类别的“删除 Woocommerce”下订单“按钮”回答线程,我做了一些更改来处理运输区域:
但它不起作用。当$found
手动设置为 true 时,按钮会根据需要停用。我认为行中有错误get_zone()
。
任何帮助表示赞赏。
php - 在 WooCommerce 中禁用特定运输方式的“下订单”按钮
我想在选择特定运输方式时禁用“下订单”按钮,有点像在“为 WooCommerce 中的特定运输区域禁用“下订单”按钮”回答我之前的问题,但是针对特定的运输方式一个航运区。
相关运输方式的名称为“LATAM”。
任何帮助表示赞赏。
magento2 - Magento 2.2.4:“抱歉,目前此订单没有报价”
结帐工作顺利,我已经在管理面板中检查了测试订单。在维护期间,我清理缓存并升级静态内容。
出乎意料的是,我在结帐时收到消息“对不起,此时此订单没有报价”。我已经在配置下配置了UPS运输方式。
您也可以通过访问https://awscales.com的网站来复制它
我也尝试过缓存清理,重新索引但没有运气。我无法弄清楚此消息的可能原因。
我的环境设置是:
操作系统:Ubuntu (VERSION-16.04.4)
PHP: 7.0.33-0ubuntu0.16.04.5
Zend:引擎 v3.0.0
Magento:2.2.4(更改为开发者模式)
当我访问管理面板并从“商店 > 配置”打开“销售 > 运输方式”选项卡时,我注意到该页面根本无法正常工作。“保存”按钮也被禁用。
在浏览器控制台中,我看到以下错误:
TypeError: $(...).phpConfigEditor 不是函数
我一无所知,请帮忙。
php - 如何在 WooCommerce 中检索订单的运输方式?
我正在使用 WooCommerce 在 Wordpress 上开发电子商务网站。我想在订单确认页面(即付款后)检索并显示客户在结账时选择的“运送方式”(即送货或取货等)。
我正在尝试使用get_post_meta($post_id, $key, $single)
函数来做到这一点。我无法这样做,因为我不知道 $key 值。
我尝试了以下代码(在 php 标签内):
但它返回一个空白值(页面上没有显示)。我假设我使用不正确$key
的 .
我愿意接受使用其他(更简单)方法来实现这一目标的建议。