Shopify - сортировать сообщения в блоге от самого старого до самого нового - сначала старые сообщения - PullRequest
0 голосов
/ 03 февраля 2020

Как сделать Shopify сортировать сообщения блога от самых старых до самых новых?

Теперь самая новая запись находится сверху. Это не работает для блога, который рассказывает историю. Естественно, вы должны прочитать историю с самого начала.

Некоторые другие блоги должны быть отсортированы в порядке по умолчанию - от самого нового к старому. Т.е. новейшая вершина.

Q: Как сделать Old первой сортировкой для некоторых блогов?

1 Ответ

1 голос
/ 03 февраля 2020

Зависит от количества постов в блоге.

Существует 3 подхода.


Жидкий способ

Вы можете перезаписать статью на пагинацию и отменить л oop.

Пример:

{% paginate blog.articles by 9999 %}
  {% for article in blog.articles reversed  %}
     ...
  {% endfor %}
{% endpaginate %}

Чем больше объем статьи, тем медленнее будет скорость загрузки DOM.

Так что если у вас более 1000 статей, это не очень хорошее решение.

REST API

Вы можете зарегистрировать частное приложение, установив только разрешение Store content like articles, blogs, comments, pages, and redirects для чтения, и все будет отключено.

Тогда вы будете нужно запросить следующий URL: https://API_KEY:API_PASS@STORE.myshopify.com/admin/api/2020-01/blogs/BLOG_ID/articles.json?limit=250 (умножить количество раз, если у вас более 250 статей)

и перевернуть массив результатов.

Если у вас много статей, это решение снова не отлично.

GraphQL

Лучше всего использовать API StoreFront GraphQL здесь, где вы можете отменить результаты.

Пример запроса:

{
    blogByHandle(handle:"news"){
    articles(first: 50, reverse: true){
      edges {
        node {
          title
        }
      }
    }
  }
}

Таким образом вы сохраните нумерацию страниц (поскольку GraphQL возвращает Cursor, который вы можно использовать для нумерации страниц), и вы будете держать запросы как минимум.

...