我是液体和红宝石的新手,但我想在一个集合中创建一个自定义过滤器,按元变换过滤。我已经有了:
但是,由于它是自定义过滤器而不是标签,因此我没有得到任何结果。我想知道代码中显示所有产品(或过滤器)的查询在哪里。我知道这取决于主题,但我使用的是默认主题:launchpad-star。
不确定我是否可以这样做或使用类似https://myshop.myshopify.com/collections/my-collection?filter_by=my-filter的链接,在这种情况下,我还需要逻辑去哪里。
我已经查看了论坛,发现了两张没有回复的已关闭的门票:https://ecommerce.shopify.com/c/ecommerce-design/t/using-metafields-to-create-filter-drop-downs-in-collection-liquid-187513和https://ecommerce.shopify.com/c/ecommerce-design/t/using-metafields-to-create-filter-drop-downs-in-collection-liquid-134401。
提前致谢
答案 0 :(得分:0)
可能不是最佳解决方案,但这是我为解决问题所做的工作:
我更改为url的第二个选项,因此当用户在组合框中选择一个选项时,会将其发送到以下URL:myshop.myshopify.com/collections/my-collection?filter_by = my-filter < / p>
在product-grid-item.liquid中,我获取产品的元数据值并将其显示为类,并将所有产品隐藏为默认值。在collection.liquid中,我用javascript读取参数的值(filter_by),并删除产品的“hide”类,其filter_by的值为class,因此显示。
我觉得它不是很干净,但它按预期工作。此解决方案的问题: *不显示所有产品,然后过滤它们 *我需要显示所有产品以避免分页,如果我有很多产品,这可能是一个大问题。
如果有人能发布更好的解决方案,欢迎!