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