液体错误:超过集合的唯一句柄的最大数量。 (购物)

Posted

技术标签:

【中文标题】液体错误:超过集合的唯一句柄的最大数量。 (购物)【英文标题】:Liquid error: Exceeded maximum number of unique handles for collections. (Shopify) 【发布时间】:2020-12-30 06:54:41 【问题描述】:

什么会导致此错误出现在长时间没有主题或应用更改的 Shopify 网站上?

液体错误:超过集合的唯一句柄的最大数量。

【问题讨论】:

你有 collections[handle] 在某处的 for 循环中吗?没有经历过这种情况,但似乎 all_products[handle] 限制为 20 次调用,因此集合似乎也有限制。 我有类似的东西,是的。 This 文章应该对您的问题有所了解。我的猜测是 Shopify 之前没有强制执行限制或您的商店填补了裂缝。 【参考方案1】:

我的收藏太多了。

collections 数组似乎只允许循环前 1,000 个项目,或使用 % assign filter_collection = collections[handle] % 之类的语法获取 1,000 个项目。 (感谢@drip)

错误消息在我第 1000 次调用 % assign filter_collection = collections[handle] % 时输出。

我在官方文档中找不到对此的引用,但是可以像这样演示 1000 次迭代的限制:

    shop.collections_count:  shop.collections_count 
    collections.length:      collections.length 
    collections | size:      collections | size 
    
    %- assign i = 0 -%
    %- for col in collections -%
        %- assign i = i | plus:1 -%
        %- if i > 995 -%
             i 
        %- endif -%
    %- endfor -%

输出:

shop.collections_count: 1814
collections.length:     1814
collections | size:     1814
996
997
998
999
1000

【讨论】:

以上是关于液体错误:超过集合的唯一句柄的最大数量。 (购物)的主要内容,如果未能解决你的问题,请参考以下文章

在Shopify中按集合排序购物车

文件句柄概述

超过每个分区允许的最大接收器数量 eventthub 中的错误

流分析作业存在验证错误:作业将超过事件中心接收器的最大数量

进程打开的文件句柄数量超过系统默认值1024,就会提示“too many files open”信息

亚马逊称网络星期一成公司史上“最大的购物日