Magento 2 - 使用自定义属性扩展API结果

时间:2016-12-20 11:41:57

标签: php json magento magento2

我有一个关于从magento 2扩展API请求的问题。我有以下请求:/index.php/rest/V1/orders/123它给了我一个JSON,其中包含有关订单的所有信息。这很好用。现在我想用自定义属性扩展给定的json响应。我将通过从订单表customer_id(customers表)开始的几个关系得到所需的属性 - > group_id(customer_groups表) - > my_attribute。

我在magentos offical documentation中读到了有关属性扩展的问题以及here。但我遇到了两个问题。首先,我无法找到像我一样的多重关系。在magentos文档中,他们使用join

<extension_attributes for="Magento\Catalog\Api\Data\ProductInterface">
    <attribute code="stock_item" type="Magento\CatalogInventory\Api\Data\StockItemInterface">
        <join reference_table="cataloginventory_stock_item" reference_field="product_id" join_on_field="entity_id">
            <field>qty</field>
        </join>
    </attribute>
</extension_attributes>

这是否也适用于多个joins。如果我可以编写PHP来获取属性,那将是很棒的。其次,我如何扩展API以便在API请求中获取信息。例如,在教程中他们只在PHP中使用它来获取信息:

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$addressInformation = $objectManager->create('Magento\Checkout\Api\Data\ShippingInformationInterface');
$extAttributes = $addressInformation->getExtensionAttributes();

$selectedShipping = $extAttributes->getCustomShippingCharge(); //get custom attribute data.

某人是否有类似的情况或有我可以开始的代码示例?

0 个答案:

没有答案