◄ Назад к списку

prefetch

Тег `{% prefetch %}` это блочный тег для установки лимита на получение данных из базы. 

Объект в теге prefetch limit offset sort / only_available (если поддерживаются)
collection.products (и др. товары через ProductCollectionDrop) да да да (см. таблицы ниже)
Коллекции статей (ArticleCollectionDrop) да да по реализации дропа
account.reviews, reviews_not_spam, reviews_spam да да да (см. таблицу отзывов)
product.related_products, product.similar_products, product.related_articles да нет порядок задаётся ассоциацией/аккаунтом, не произвольным sort из тега
product.reviews да  нет фиксированный порядок

 

Сортировка товаров (sort:)

Ключ Описание
title По названию (А–Я)
descending_title По названию (Я–А)
price По цене (сначала дешевле)
descending_price По цене (сначала дороже)
old_price По старой цене (сначала дешевле)
descending_old_price По старой цене (сначала дороже)
price_available По цене среди товаров в наличии
descending_price_available По цене среди товаров в наличии (дороже сначала)
discount По размеру скидки (сначала меньше)
descending_discount По размеру скидки (сначала больше)
discount_available По скидке среди товаров в наличии
descending_discount_available По скидке среди товаров в наличии (больше сначала)
age По давности добавления (старые первые)
descending_age По давности добавления (новые первые)
sort_weight По весу сортировки (возрастание)
descending_sort_weight По весу сортировки (убывание)
updated_at По дате обновления (старые первые)
descending_updated_at По дате обновления (новые первые)
popularity По популярности (сначала менее популярные)
descending_popularity По популярности (сначала популярнее)
relevance По релевантности (при поиске)
manual Вручную (порядок в коллекции)

Сортировка отзывов (sort:)

Ключ Описание
date По дате (старые первые)
date_desc По дате (новые первые)
rating По оценке (низкие первые)
rating_desc По оценке (высокие первые)
rating_desc_date_desc Сначала по оценке (высокие), затем по дате (новые)
rating_date_desc Сначала по оценке (низкие), затем по дате (новые)
Liquid
        
          

Синтаксис:


{% prefetch <коллекция> limit <число>[, sort: '<ключ>'][, offset: <число>][, only_available: true|false] %}
  …
{% endprefetch %}


{% prefetch product.similar_products limit 6 %}
  {% if product.similar_products.size > 0 %}
    {% for similar in product.similar_products %}
      {{ similar.title }}
    {% endfor %}
  {% endif %}
{% endprefetch %}

{% prefetch account.reviews_not_spam limit 5, sort: 'rating_desc_date_desc' %}
  {% if account.reviews_not_spam? %}
    {% for review in account.reviews_not_spam %}
      {{ review.author }}: {{ review.content }}
    {% endfor %}
  {% endif %}
{% endprefetch %}

{% if data.blocks.size > 0 %}
  {% for block in data.blocks %}
    {% prefetch block.collection.products limit 12 %}
      {% if block.collection.products.size > 0 %}
        {% for product in block.collection.products %}
          {% comment %} до 12 уже на уровне БД; limit в for можно не дублировать {% endcomment %}
          {{ product.title }}
        {% endfor %}
      {% endif %}
    {% endprefetch %}
  {% endfor %}
{% endif %}




Новости и статьи
Обновления платформы
Документация по API insales
API для написания интеграций
Разработка приложений
Пошаговая документация
Партнерская программа
Станьте партнером InSales
Продолжая пользоваться сайтом, вы
соглашаетесь с использованием cookie