У цій статті представлено приклади деяких запитів GraphQL для . За допомогою цих запитів ви зможете отримати необхідні дані блогу для прогресивного веб-застосунку (PWA). Запити легко тестуються в ChromeiQL – розширення для браузера Chrome .
Зверніть увагу, що спочатку слід встановити розширення Magento 2 Blog GraphQL .
Щоб перевірити повну схему Blog GraphQL, перегляньте файл schema.graphqls .
Записи сторінки індексу блогу Запит GraphQL
Запит:
query GetPosts ($currentPage: Int $pageSize: Int) {
blogPosts (currentPage: $currentPage pageSize: $pageSize sort: ["DESC"]) {
total_count
items {
post_id
title
short_filtered_content
author {
author_id
name
author_url
}
post_url
creation_time
tags {
tag_id
title
tag_url
}
categories {
category_id
title
category_url
}
}
total_pages
}
}
Змінні:
{
"currentPage": 1,
"pageSize": 5
}
Результат:
В результаті ви отримаєте дані для перших 5 записів блогу, які мають відображатися на першій сторінці.
![]()
Записи категорії блогу Запит GraphQL
За допомогою цього запиту ви отримаєте записи для певної категорії блогу, використовуючи ідентифікатор категорії або ідентифікатор URL-адреси категорії.
Запит:
query GetPosts ($currentPage: Int $pageSize: Int $categoryId: String) {
blogPosts (currentPage: $currentPage pageSize: $pageSize sort: ["DESC"] filter: {category_id: {eq: $categoryId}}) {
total_count
items {
post_id
title
short_filtered_content
author {
author_id
name
author_url
}
post_url
creation_time
tags {
tag_id
title
tag_url
}
categories {
category_id
title
category_url
}
}
total_pages
}
blogCategory (id: $categoryId) {
title
content
}
}
}
Змінні:
{
"currentPage": 1,
"pageSize": 5,
"categoryId":"fashion-show"
}
Результат:
![]()
Записи автора блогу Запит GraphQL
За допомогою цього запиту ви отримаєте дані про записи автора, використовуючи ідентифікатор автора або ідентифікатор URL-адреси автора.
Запит:
query GetPosts ($currentPage: Int $pageSize: Int $authorId: String) {
blogPosts (currentPage: $currentPage pageSize: $pageSize sort: ["DESC"] filter: {author_id: {eq: $authorId}}) {
total_count
items {
post_id
title
short_filtered_content
author {
author_id
name
author_url
}
post_url
creation_time
tags {
tag_id
title
tag_url
}
categories {
category_id
title
category_url
}
}
total_pages
}
blogAuthor(id: $authorId) {
name
}
}
Змінні:
{
"currentPage": 1,
"pageSize": 5,
"authorId":"store-administrator"
}
Результат:
![]()
Теги записів блогу Запит GraphQL
За допомогою цього запиту ви отримаєте список записів, що містять відповідний тег, використовуючи ідентифікатор тегу або ідентифікатор URL-адреси тегу.
Запит:
query GetPosts ($currentPage: Int $pageSize: Int $tagId: String) {
blogPosts (currentPage: $currentPage pageSize: $pageSize sort: ["DESC"] filter: {tag_id: {eq: $tagId}}) {
total_count
items {
post_id
title
short_filtered_content
author {
author_id
name
author_url
}
post_url
creation_time
tags {
tag_id
title
tag_url
}
categories {
category_id
title
category_url
}
}
total_pages
}
blogTag (id: $tagId) {
title
content
}
}
Змінні:
{
"currentPage": 1,
"pageSize": 5,
"tagId": "bags"
}
Результат:
![]()
Пошук записів Запит GraphQL
За допомогою цього запиту ви отримаєте список записів, пов'язаних зі словом, яке ви шукаєте.
Запит:
query GetPosts ($currentPage: Int $pageSize: Int $searchQuery: String) {
blogPosts (
currentPage: $currentPage
pageSize: $pageSize
sort: ["DESC"]
filter: {search: {eq: $searchQuery}}
) {
total_count
items {
post_id
title
short_filtered_content
author {
author_id
name
author_url
}
post_url
creation_time
tags {
tag_id
title
tag_url
}
categories {
category_id
title
category_url
}
}
total_pages
}
}
Змінні:
{
"currentPage": 1,
"pageSize": 5,
"searchQuery:":"good"
}
Результат:
![]()
Дані окремого запису в блозі
За допомогою цього запиту ви зможете отримати запис у блозі за ідентифікатором запису або ідентифікатором URL.
Запит:
query GetPost ($postId: String) {
blogPost (id: $postId) {
post_id
meta_title
meta_description
title
filtered_content
author {
author_id
name
author_url
}
post_url
creation_time
tags {
tag_id
title
tag_url
}
categories {
category_id
title
category_url
}
}
}
Змінні:
{
"postId": "kaytips-when-in-dubai"
}
Результат:
![]()
Категорії бічної панелі Запит GraphQL
За допомогою цього запиту ви зможете отримати список категорій блогу.
Запит:
{
blogCategories {
items {
category_id
title
category_url
}
}
}
Результат:
![]()
Недавні записи бічної панелі Запит GraphQL
За допомогою цього запиту ви зможете отримати останні записи в блозі.
Запит:
query GetPosts ($pageSize: Int) {
blogPosts (pageSize: $pageSize sort: ["DESC"]) {
items {
post_id
title
post_url
}
}
}
Результат:
![]()
Теги бічної панелі Запит GraphQL
За допомогою цього запиту ви зможете отримати теги блогу.
Запит:
{
blogTags {
items {
tag_id
title
tag_url
}
}
}
Результат:
![]()
Архів Запит GraphQL
За допомогою цього запиту ви отримаєте список публікацій, пов'язаних з датою публікації.
Запит:
query GetPostArchive ($currentPage: Int $pageSize: Int $date: String) {
blogPosts (
currentPage: $currentPage
pageSize: $pageSize
sort: ["DESC"]
filter: {publish_time: {like: $date}}
) {
total_count
items {
post_id
title
short_filtered_content
featured_image
author {
author_id
name
author_url
}
post_url
publish_time
tags {
tag_id
title
tag_url
}
categories {
category_id
title
category_url
}
}
total_pages
}
}
Змінні:
{
"currentPage": 1,
"pageSize": 5,
"date": "2021-06%"
}
Результат:
![]()