shopify - 在shopify中获取所有不包含标签的产品
问题描述
我正在使用捆绑构建器应用程序,它允许用户创建自己的捆绑包并购买它们。每次购买都会产生产品变化。当有超过 99 种变体时,应用程序会复制捆绑产品并重复自身直到无穷大。这里的问题是旧的产品包不再有效,但仍然显示在前端导致混乱。我能够对捆绑构建器应用程序的支持提供足够的漏洞,从而为我提供有关如何检测这些旧产品的信息,以便我们可以将这些产品从集合页面中隐藏起来,如下所示:
{%- for product in collection.products -%}
{%- if product.tags contains 'bundle-builder-dummy-legacy' -%}
** do nothing **
{%- else -%}
** print out product **
{%- endif -%}
{%- endfor -%}
现在这隐藏了旧产品,但它仍然弄乱了分页和页面布局,例如我们的页面限制设置为 8 个产品,我们在第 2 页,共 5 页。使用上面的代码片段只打印出没有的产品包含标签“bundle-builder-dummy-legacy”(这可以通过除非语句来改进,但这不是重点),但它留下了空白空间 - 只填充了 6 个网格项而不是 8 个。所以我猜循环无法正常工作。如何在 for 循环中获取不包含标签的产品。这意味着 if/unless 语句需要在循环之前或循环初始化期间发生。希望我已经说明了我的情况。
谢谢
解决方案
您可能会要求应用程序使用产品的可直接访问属性(如类型)来识别这些产品。
然后你就可以做到这一点:
{% assign collection_products = collection.products | where:'type','legacy' %}
{% for product in collection_products %}
Do something
{% endfor %}
推荐阅读
- karate - 如何在输入json文件中参数化字符串和变量名
- php - SessionID 在 webpack4 项目中的客户端/服务器之间没有与 php/apache 后端通信
- c# - 下拉列表 选择索引 如果没有用户输入则默认
- algorithm - 找到多个值的最接近组合到极限的算法是什么?
- r - 如何在 R 中安装 RProtoBuf
- amazon-web-services - Terraform Workspace - AWS 提供 - 如何为每个工作区维护不同的 IAM 实例角色/策略?
- java - Maven项目中8u162-jdk的拉取访问被拒绝
- regex - 用字典中的值替换字符串中的正则表达式,同时检索索引
- visual-studio - 错误:Cmake 3.15.1 和 Visual Studio 2019 的 C 编译器标识未知
- python - 在python中将特定图像从目录移动到另一个