有没有办法在 Magento 2.3 graphql 端点中使用动态过滤器查询产品?
Posted
技术标签:
【中文标题】有没有办法在 Magento 2.3 graphql 端点中使用动态过滤器查询产品?【英文标题】:Is there any way to query products using dynamic filters in Magento 2.3 graphql endpoint? 【发布时间】:2020-01-02 23:33:41 【问题描述】:我正在查看 Magento 2.3.1 及更高版本在列出产品的查询中公开的新 graphql 端点:
query products(
pageSize:6,
currentPage:1,
filter:
category_id: eq: "3"
)
filters
name
request_var
filter_items_count
filter_items
label value_string
items
id
name
small_image
url
# ...
# ...
响应正文在 items
属性中生成产品,正如预期的那样,在 filters
属性中的数组中生成一堆自定义过滤器,如下所示:
"filters": [
"name": "Activity",
"request_var": "activity",
"filter_items_count": 12,
"filter_items": [
"label": "Outdoor",
"value_string": "5"
,
"label": "Yoga",
"value_string": "8"
,
"label": "Recreation",
"value_string": "9"
,
// rest of filter values
]
,
// rest of filters
]
鉴于这些过滤器是动态的并且是用户定义的,有没有办法通过 graphql 中的产品列表查询将它们发回?我希望在 products
查询下的某处有一个属性,它可能是上述过滤器对象的数组,但到目前为止,我在架构和官方文档中都没有找到任何东西。
有没有人有类似的经历?
【问题讨论】:
【参考方案1】:没有。没有办法将过滤后的选项发回。在某些选项中,您可以返回其他过滤功能(类似于查看类别页面时)以返回过滤方式列表,但不会返回当前活动过滤器。
products(filter: sku: like: "%" pageSize: 500)
filters
request_var
name
filter_items
label
value_string
items
id
sku
name
...
【讨论】:
那么如何通过......比如说“颜色”属性来过滤产品?以上是关于有没有办法在 Magento 2.3 graphql 端点中使用动态过滤器查询产品?的主要内容,如果未能解决你的问题,请参考以下文章
在 Windows 10 上安装 Magento 2.3 后的空白管理页面