我使用 BookThatApp 的日期选择器和几个下拉菜单作为租赁运动器材的产品变体选项。通常,订单完成后,我必须根据产品变体选项进行手动计算,并使用它为客户选择合适的运动器材。我可以轻松地用 JavaScript 编写这个计算。我的目标是将此计算添加到订单中,以便在购买租赁后工作人员可以看到它。这可以是标签、元字段,甚至是另一个产品选项。
我的理解是 theme.liquid 代码是在初始页面渲染时执行的,无法检测何时选择下拉列表并运行计算 - 这是正确的吗?如果是这样,是否还有其他选择来完成此功能,或者挖掘第三方应用程序是唯一的方法吗?
到目前为止,这在我的 theme.liquid 中并不成功:
{%- if product.metafields.bookthatapp.json_config -%}
<script
src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"
crossorigin="anonymous">
</script>
<script>
jQuery('#bta-widget-container').on('theme:variants:changed', function(evt, variantObj){
console.log('theme event detected');
console.log(variantObj);
});
</script>
{%- endif -%}
{% render 'bookthatapp-widgets' %}
你可以100%用JS进行计算。一旦页面呈现,当选择变体时,您就可以运行代码。您可以访问您想知道的所有内容,因为您可以将所有内部元字段数据呈现给 JS。因此,如果客户在变体 1、2 或 22 之间进行选择,您就会知道。做你的计算。将结果保存为表单中 HTML 输入元素中的行项目属性。现在,在您的订单中,该行项目将用您的计算结果进行装饰。答对了。你可以走了。