【问题标题】:Get all categories with custom attributes in Magento 2 REST Api在 Magento 2 REST Api 中获取所有具有自定义属性的类别
【发布时间】:2017-06-20 10:48:26
【问题描述】:

我正在使用 Magento 2 rest api 列出所有类别。

{{production_url}}/index.php/rest/V1/categories

它将返回所有类别,

{
    "id": 2,
    "parent_id": 1,
    "name": "Default Category",
    "is_active": true,
    "position": 1,
    "level": 1,
    "product_count": 0,
    "children_data": [{
        "id": 3,
        "parent_id": 2,
        "name": "T-shirts",
        "is_active": true,
        "position": 1,
        "level": 2,
        "product_count": 8,
        "children_data": []
    }, {
        "id": 4,
        "parent_id": 2,
        "name": "Phants",
        "is_active": true,
        "position": 2,
        "level": 2,
        "product_count": 0,
        "children_data": []
    }, {
        "id": 5,
        "parent_id": 2,
        "name": "Chridar",
        "is_active": true,
        "position": 3,
        "level": 2,
        "product_count": 0,
        "children_data": []
    }]
}

但是我需要结果中每个类别的自定义属性。但是现在我必须调用下面的 api 来获取自定义属性。

{{production_url}}/index.php/rest/V1/categories/3

它会返回,

{
    "id": 3,
    "parent_id": 2,
    "name": "T-shirts",
    "is_active": true,
    "position": 1,
    "level": 2,
    "children": "",
    "created_at": "2017-06-02 11:21:16",
    "updated_at": "2017-06-02 11:21:16",
    "path": "1/2/3",
    "available_sort_by": [],
    "include_in_menu": true,
    "custom_attributes": [
        {
            "attribute_code": "description",
            "value": "<p>retest</p>"
        },
        {
            "attribute_code": "image",
            "value": "Screen_Shot_2017-06-16_at_4.06.35_PM.png"
        },
        {
            "attribute_code": "display_mode",
            "value": "PRODUCTS"
        },
        {
            "attribute_code": "is_anchor",
            "value": "1"
        },
        {
            "attribute_code": "path",
            "value": "1/2/3"
        },
        {
            "attribute_code": "children_count",
            "value": "0"
        },
        {
            "attribute_code": "custom_use_parent_settings",
            "value": "0"
        },
        {
            "attribute_code": "custom_apply_to_products",
            "value": "0"
        },
        {
            "attribute_code": "url_key",
            "value": "redwine"
        },
        {
            "attribute_code": "url_path",
            "value": "redwine"
        }
    ]
}

假设如果有 n 类别我需要调用 n api 来获取自定义属性。是否有任何单个 api 来获取所有属性单个 API 中的类别?

【问题讨论】:

    标签: php rest magento magento2


    【解决方案1】:

    Magento Api CatalogTreeInterface 没有扩展 Magento\Framework\Api\ExtensibleDataInterface,这意味着不能将自定义属性或扩展属性添加到树响应中。对我来说唯一的解决方法是创建自己的模块和一个新的 api 调用来扩展树接口以添加我的自定义属性。

    【讨论】:

    • 2021 amd Magento 2.4.0 仍然如此。我怎样才能知道这些类型的信息?我在这上面呆了 2 天。
    【解决方案2】:

    我想鲁本是对的。我已经构建了 Magento 扩展来将图像属性添加到类别树中,请查看https://github.com/troublediehard/mma-customapi

    【讨论】:

      猜你喜欢
      • 2023-03-06
      • 1970-01-01
      • 2013-06-26
      • 2018-07-26
      • 2019-08-09
      • 1970-01-01
      • 2017-10-17
      • 2021-06-30
      • 1970-01-01
      相关资源
      最近更新 更多