Приклади деяких запитів GraphQL для блогу Magento 2 представлені в цій статті. За допомогою цих запитів ви зможете витягнути необхідні дані блогу для прогресивної веб-програми (PWA). Запити в ChromeiQL - розширенні браузера Chrome.
Зауважте, що додаток Magento 2 Блог 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%"
}
Результат:
![]()