2016-07-12 4 views
0

Я пытался показать все продуктов моего сайта в одной странице, всего за 2 дня до того, как это было перечисление всех видов продукции.shopify Ошибка жидкости: Ограничения по памяти превысили

Но теперь, когда эта страница загружает ее дает ошибку как «Shopify Жидкое ошибка: Ограничения памяти превышена»

Вот мой код

<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> 

как я могу решить эту проблему?

+0

Shopify server может отображать только 40000 элементов в одном «forloop». Либо они вложены внутри друг друга, не имеет значения. Попробуйте другую логику для вашего требования. – HymnZ

+0

У меня нет более 40000 предметов. У меня есть только уникальные 2000 предметов. @HymnZ –

+0

Для каждого типа продукта все коллекции циклически; 'shop.types * collections' может привести к 40000. Проверьте математику и дайте мне знать. – HymnZ

ответ

1

Попробуйте следующее. Это быстрее и эффективнее.

<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

Тонкий код ... большое спасибо –

 Смежные вопросы

  • Нет связанных вопросов^_^