簡體   English   中英

Shopware 6 通過 store-api 獲取父產品

[英]Shopware 6 fetch parent product through store-api

我正在嘗試使用 store-api 獲取特定產品的父級。
當我添加parent關聯時,我收到錯誤代碼FRAMEWORK__PARENT_ASSOCIATION_CAN_NOT_BE_FETCHED

我的請求是這樣的: 在此處輸入圖片說明

我是否真的必須使用parentId進行第二次請求才能獲取一些父產品信息,還是有其他方法?

您可以嘗試搜索子代 ID 為“xyz”的產品,而不是嘗試查找某個變體的父代。 Shopware 支持過濾嵌套對象,例如“children.id”。

例如:

POST /store-api/product
Content-Type: application/json
Accept: application/json
sw-access-key: ...
sw-language-id: ...

{
  "includes": {
    "product": ["productNumber", "children", "name", "translated.name"]
  },
  "associations": {
    "children": []
  },
  "filter": [
    {"field": "children.id", "type": "equals", "value": "f87a875bc5fa47e08ea40a19ce9c5627"}
  ]
}

應該給你父母和孩子的輸出:

{
  "entity": "product",
  "total": 1,
  "aggregations": [],
  "page": 1,
  "limit": null,
  "elements": [
    {
      "productNumber": "252009 00-0002",
      "name": null,
      "children": [
        {
          "productNumber": "252009 00-0002.3",
          "name": null,
          "children": null,
          "translated": {
            "name": "T-Shirt Logo"
          },
          "apiAlias": "product"
        },
        {
          "productNumber": "252009 00-0002.1",
          "name": null,
          "children": null,
          "translated": {
            "name": "T-Shirt Logo"
          },
          "apiAlias": "product"
        },
        {
          "productNumber": "252009 00-0002.4",
          "name": null,
          "children": null,
          "translated": {
            "name": "T-Shirt Logo"
          },
          "apiAlias": "product"
        },
        {
          "productNumber": "252009 00-0002.2",
          "name": null,
          "children": null,
          "translated": {
            "name": "T-Shirt Logo"
          },
          "apiAlias": "product"
        }
      ],
      "translated": {
        "name": "T-Shirt Logo"
      },
      "apiAlias": "product"
    }
  ],
  "apiAlias": "dal_entity_search_result"
}

我認為你只需要使用帶有 parentId 的額外 API 調用。 因為它在 EntityReader 內部受到限制。 此外,可以實現您自己的 ApiRoute 並通過一個 API 調用獲取所有信息。

另請檢查您的子產品的響應。 由於產品的幾乎所有字段都是繼承的,所以您可能已經在第一次響應中得到了您需要的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM