2016-07-12 19 views
0

Ich habe versucht, alle Produkttypen meiner Website auf einer Seite anzuzeigen, 2 Tage zurück war es alle die Produktart auflisten.shopify Flüssiger Fehler: Speichergrenzen überschritten

Aber jetzt, wenn dieser Seite ist die Angabe Fehler wie lädt „Shopify Flüssigkeits Fehler: Grenzen Speicher überschritten“

meinen Code Hier ist
<div class="rte"> 
    {{ page.content }} 
    <ul class="vendor-list block-grid three-up mobile one-up"> 
    {% for product_type in shop.types %} 
    {% assign its_a_match = false %} 

    {% capture my_collection_handle %} {{ type | handleize | strip | escape }}  {% endcapture %} 
    {% assign my_collection_handle_stripped = my_collection_handle | strip | escape %} 

    {% for collection in collections %} 
    {% if my_collection_handle_stripped == collection.handle %} 
    {% assign its_a_match = true %} 
    {% endif %} 
    {% endfor %} 

    {% if its_a_match %} 
    <li class="vendor-list-item"><a href="/collections/{{ product_type | handleize }}">{{ product_type }}</a></li> 
    {% endif %} 
    {% endfor %} 
    </ul> 
    </div> 

wie kann ich dieses Problem zu lösen?

+0

Der Shopify-Server kann nur 40000 Elemente in einem einzigen "Forloop" rendern. Entweder sind sie ineinander verschachtelt, egal. Versuchen Sie eine andere Logik für Ihre Anforderung. – HymnZ

+0

Ich habe nicht mehr als 40000 Artikel. Ich habe nur einzigartige 2000 Artikel. @HymnZ –

+0

Für jeden product_type werden alle Kollektionen zyklisch durchlaufen; 'shop.types * collections' kann 40000 ergeben. Überprüfen Sie Mathe und lassen Sie mich wissen. – HymnZ

Antwort

1

Versuchen Sie Folgendes. Es ist schneller und effizienter.

<div class="rte"> 
    {{ page.content }} 
    <ul class="vendor-list block-grid three-up mobile one-up"> 
    {% for product_type in shop.types %} 

    {% assign type = product_type | strip | escape | handleize %} 

    {% assign collection = collections[type] %} 

    {% if collection.handle != '' %} 
     <li class="vendor-list-item"><a href="/collections/{{ collection.handle }}">{{ product_type }}</a></li> 
    {% endif %} 

    {% endfor %} 
    </ul> 
</div> 
+0

Feiner Code ... vielen Dank –