0

我正在使用 Magento2 默认 API /V1/carts/mine/payment-information:.

此 API 的响应是:

{
    "payment_methods": [
        {
            "code": "payu",
            "title": "PayUMoney"
        },
        {
            "code": "checkmo",
            "title": "Check / Money order"
        },
        {
            "code": "paytm",
            "title": "Paytm PG"
        }
    ],
    "totals": {
        "grand_total": 195,
        "base_grand_total": 195,
        "subtotal": 45,
        "base_subtotal": 45,
        "discount_amount": 0,
        "base_discount_amount": 0,
        "subtotal_with_discount": 45,
        "base_subtotal_with_discount": 45,
        "shipping_amount": 150,
        "base_shipping_amount": 150,
        "shipping_discount_amount": 0,
        "base_shipping_discount_amount": 0,
        "tax_amount": 0,
        "base_tax_amount": 0,
        "weee_tax_applied_amount": null,
        "shipping_tax_amount": 0,
        "base_shipping_tax_amount": 0,
        "subtotal_incl_tax": 45,
        "shipping_incl_tax": 150,
        "base_shipping_incl_tax": 150,
        "base_currency_code": "INR",
        "quote_currency_code": "INR",
        "items_qty": 1,
        "items": [
            {
                "item_id": 41,
                "price": 45,
                "base_price": 45,
                "qty": 1,
                "row_total": 45,
                "base_row_total": 45,
                "row_total_with_discount": 0,
                "tax_amount": 0,
                "base_tax_amount": 0,
                "tax_percent": 0,
                "discount_amount": 0,
                "base_discount_amount": 0,
                "discount_percent": 0,
                "price_incl_tax": 45,
                "base_price_incl_tax": 45,
                "row_total_incl_tax": 45,
                "base_row_total_incl_tax": 45,
                "options": "[{\"value\":\"Green\",\"label\":\"Color\"},{\"value\":\"29\",\"label\":\"Size\"}]",
                "weee_tax_applied_amount": null,
                "weee_tax_applied": null,
                "name": "Erika Running Short"
            }
        ],
        "total_segments": [
            {
                "code": "subtotal",
                "title": "Subtotal",
                "value": 45
            },
            {
                "code": "shipping",
                "title": "Shipping & Handling (Fixed)",
                "value": 150
            },
            {
                "code": "tax",
                "title": "Tax",
                "value": 0,
                "extension_attributes": {
                    "tax_grandtotal_details": []
                }
            },
            {
                "code": "grand_total",
                "title": "Grand Total",
                "value": 195,
                "area": "footer"
            }
        ]
    } 
}

我想images在项目内添加标签以显示项目/产品的图像。但是这个标签并没有定义在items的接口中,即

TotalsItemInterface.php

我在我的自定义模块中复制了 TotalsItemInterface,并添加了来自 Totalsinterface 的所有 getter 和 setter 以及 setImages 和 getImages Tag。因此在内部我调用该方法以使用并通过我的自定义 apiInterfaces 显示它。

如果我们想更改 API 中显示的数据,是否有更好或更合适的“Magento 2 方式”?

4

1 回答 1

0

您可以为它使用扩展属性。您可以在 devdocs 中找到有关它们的更多信息: https ://devdocs.magento.com/guides/v2.3/extension-dev-guide/extension_attributes/adding-attributes.html

于 2018-12-03T15:28:24.077 回答