微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Magento 2 添加扩展属性到 Magento\Sales\Api\Data\ShipmentTrackInterface

如何解决Magento 2 添加扩展属性到 Magento\Sales\Api\Data\ShipmentTrackInterface

我正在尝试使用扩展属性向跟踪添加自定义跟踪 URL,我在 extension_attributes.xml

添加了这些
  <extension_attributes for="Magento\Sales\Api\Data\ShipmentTrackInterface">
    <attribute code="track_url" type="string"/>
  </extension_attributes>
    <extension_attributes for="Magento\Sales\Api\Data\ShipmentTrackCreationInterface">
        <attribute code="track_url" type="string"/>
    </extension_attributes>

清除生成代码和缓存,接口正确填充,我使用\Magento\Sales\Api\ShipOrderInterface::execute保存发货:

            $this->shipOrderService->execute(
                $order->getId(),$items,$data->isCustomerNotify(),false,$comment,[$data->getTracking()]
            );

$data->getTracking() 的数据如下所示:

  {
    "track_number": "1Z37X3X41217934386","title": "ups","carrier_code": "ups","extension_attributes": {
      "track_url": "blah"
    }
  }

所以一切看起来都很好,扩展属性数据被很好地传递到 Magento\Framework\Model\AbstractExtensibleModel,但是在 Magento\Framework\Api\AbstractSimpleObject 中,Magento\Sales\Api\Data\ShipmentTrackExtension 是从它扩展的,$data 变成了一个空数组,我仍然无法弄清楚为什么会发生这种情况,我处于开发模式,不需要运行 DI 或类似的东西,有什么想法吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。