Вы говорите о Storefront, но вы даете URL API администратора. Вы не можете запросить администратора из витрины магазина, не используя GraphQL или Rest API!
Liquid way
Вы ограничены 50 статьями, если не перезаписываете страницы на витрине магазина.
Но если перезаписать его, вы можете получить столько, сколько захотите. (имейте в виду, что чем больше пул статей, тем дольше будет загружаться DOM)
Пример:
{% paginate blog.articles by 9999 %}
{% for article in blog.articles %}
{% endfor %}
{% endpaginate %}
Вы можете создать отдельный шаблон блога, запросить его с помощью AJAX и добавить тег до конца.
Так что, если вы создадите шаблон блога с именем blog.ajax.liquid
, ваш запрос будет выглядеть примерно так: /blogs/news/tagged/featured?view=ajax
и он вернет html для нового шаблона, отфильтрованного по тег featured
.
Способ GraphQL
Другой способ - использовать витрину GraphQL для получения статей.
Вам потребуется создать частное приложение и разрешить Read content like articles, blogs, and comments
для использования этого.
Пример запроса:
{
blogByHandle(handle:"news"){
articles(first: 50, query:"tag:featured") {
edges {
node {
title
}
}
}
}
}
Где это вернет 50 заголовков статей, которые имеют тег с именем featured
, вы можете добавьте больше полей, которые, как вы хотите, возвращает запрос.
REST API
Другой способ - использовать REST API.
Вам все еще нужно создать приватный приложения, но вы должны разрешить только права на чтение блога и статьи, без миссий. Кроме того, все остальные права должны быть отключены, чтобы вы не позволяли другим изменять данные вашего магазина.
URL-адрес AJAX будет выглядеть примерно так: https://API_KEY:API_PASSWORD@YOUR_STORE.myshopify.com/admin/api/2020-01/blogs/BLOG_ID/articles.json?tag=featured
I не рекомендую этот подход, но он все равно будет работать.
Оттуда вы выбираете, как вам нравится go.