filter - 您可以在 Shopify 中覆盖 Product.tags 吗?
问题描述
提前道歉;对CS来说还是很新的。
我正在向我的商店添加一个过滤器,允许客户通过“InStock”和“PreOrder”标签进行过滤。我希望在库存波动时自动添加和删除这些标签。有些商品仅在商店出售,不会展示(因此检查“nocart”标签)。这是相关的液体代码:
{% assign currenttags = product.tags | join: ', ' %}
{% for variant in product.variants %}
{% if product.tags contains "nocart"%}{% break %}{% endif %}
{% if variant.inventory_quantity == 0 and variant.inventory_policy == "continue" %}
{% assign currenttags = currenttags | remove: ", InStock" %}
{% assign currenttags = currenttags | append: ", PreOrder" %}
{% elsif variant.inventory_quantity > 0 %}
{% assign currenttags = currenttags | remove: ", PreOrder" %}
{% assign currenttags = currenttags | append: ", InStock" %}
{% endif %}
{% endfor %}
{{ currenttags | split: ', '}}
{% assign product.tags = currenttags %}
{{product.tags}}
正如您可能知道的那样,我想使用内置标签过滤器来显示它,它依赖于 crawling product.tags
。
我尝试输出 currenttags,然后将 product.tags 分配给 currenttags 数组。结果是“xxx xxx xxx xxx 预购”(currenttags)“xxx xxx xxx xxx”(product.tags)
可以product.tags
覆盖吗?有没有更好的方法来根据库存水平+产品状态进行过滤?谢谢!
编辑:进一步查看文档,我很确定product.tags
只返回标签值,而不是参考。认为我需要连接到 Admin API 并从中访问产品标签。钱币!
解决方案
Liquid只是一种模板语言,这意味着它主要是输出数据并在前端进行修改,也就是说它没有能力像这种情况下修改任何后端条目tags
.
为了实现您的要求,您需要创建一个自定义应用程序,该应用程序将绑定特定的 webhook(例如订单创建或产品更新,具体取决于您修改库存的时间)并通过 API 更新标签。
可能已经准备好为此使用应用程序,但您需要自己研究
推荐阅读
- html - 如何避免在 html 主题构建中重复引导类
- json - 寻找将草图形状路径点(json格式)转换为svg路径的模式或公式
- swift - 如何快速将字符串转换为 char*?
- python - SQLAlchemy 视图处理
- codenameone - 多代号一CSS
- facebook - Facebook Ads API - 实时获取广告账户余额
- automated-tests - 自动化测试 - Katalon 工作室
- python - 是否有任何与 haskell 的 "it" 等效的 python 来获取 REPL 中的最后一个成功命令
- javascript - 为什么当用户关闭 chrome 中的选项卡时显示弹出窗口?
- javascript - 在 WebAssembly 中写入文件