У цій статті ми описуємо GraphQl запити для отримання необхідних даних правил автоматично пов’язаних продуктів для прогресивної веб-програми (PWA). Щоб реалізувати резолвер GraphQL, вам потрібно встановити Magento 2 Automatic Related Products Extra.
Крім того, ви можете легко перевірити ці запити за допомогою розширення ChromeiQL для браузера Chrome.
Запит GraphQL для правила пов’язаних продуктів
За допомогою цього запиту ви отримаєте всі пов’язані продукти через ідентифікатор правила (продукти, які підпадають під умови правила).
Запит:
query mfAutoRelatedProducts ($ruleId: Int $productId: Int $categoryId: Int $pageSize: Int $currentPage: Int) { mfAutoRelatedProducts( ruleId: $ruleId productId: $productId categoryId: $categoryId pageSize: $pageSize currentPage: $currentPage ){ total_count items{ products{ id name sku } category_ids{ category_id } customer_group_ids{ group_id } store_ids{ store_id } id name description status priority block_position merge_type from_one_category_only only_with_higher_price only_with_lower_price conditions_serialized actions_serialized block_title sort_by display_add_to_cart number_of_products display_out_of_stock who_bought_this_also_bought who_viewed_this_also_viewed start_date finish_date same_as_conditions_serialized click_count crt_rate apply_same_as_condition } } }
Змінні:
{
"ruleId": 1,
"pageSize": 5,
"currentPage": 1
}
Результат:
В результаті ви отримаєте дані про перші 5 продуктів на першій сторінці.
Запит GraphQL продукту та категорії
За допомогою цього запиту ви зможете використовувати продукт і категорію, щоб побачити, під які правила вони підпадають.
Запит:
query mfAutoRelatedProducts ($ruleId: Int $pageSize: Int $currentPage: Int) { mfAutoRelatedProducts( ruleId: $ruleId pageSize: $pageSize currentPage: $currentPage ){ total_count items{ products{ id name sku } category_ids{ category_id } customer_group_ids{ group_id } store_ids{ store_id } id name description status priority block_position merge_type from_one_category_only only_with_higher_price only_with_lower_price conditions_serialized actions_serialized block_title sort_by display_add_to_cart number_of_products display_out_of_stock who_bought_this_also_bought who_viewed_this_also_viewed start_date finish_date same_as_conditions_serialized click_count crt_rate apply_same_as_condition } } }
Змінні:
{
"ruleId": 1,
"productId": 1,
"categoryId": 1,
"pageSize": 5,
"currentPage": 1
}
Результат:
У результаті ви отримаєте дані про те, під які правила підпадають поточні продукти та категорії.