gpt4 book ai didi

shopify - 是否可以使用具有嵌套属性的液体 "where"阵列过滤器?

转载 作者:行者123 更新时间:2023-12-04 11:31:12 26 4
gpt4 key购买 nike

我正在尝试使用块设置过滤一组块。我可以使用以下语法按“类型”等属性进行过滤:
{% assign example = section.blocks | where: "type", "photos" %}
我需要做的是按块设置过滤,如下所示:
{% assign example = section.blocks | where: settings.collection, collection.handle %}
上面的例子默默地失败了。

注释:目前,我正在使用带有 for 循环和 if 语句的捕获来完成我需要的操作,然后使用拆分进行分配——但是代码太臃肿了,为一个简单的过滤器操作执行所有这些操作似乎很荒谬。我发现自己一直在与液体作斗争,我想我希望它可能比我认为的更优雅一点。

最佳答案

我对 Ruby 了解不多,但看来你是 can't将带有点符号的嵌套属性传递给 where筛选。然而,在seeing people之后使用 map 访问嵌套值,我测试了两者的混合,以及 map filter似乎适用于这种情况。

我有一个名为 default 的 bool 设置在我的块中,我得到了最后一个块的设置对象 default设置为 true使用这个:

{% assign obj = section.blocks | map: 'settings' | where: 'default' | last %}

当然,那么您就无法在提取的设置对象之外获取数据。为此,我认为您确实需要遍历 section.blocks并使用 if 手动查找过滤器标签。

关于shopify - 是否可以使用具有嵌套属性的液体 "where"阵列过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57748892/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com