【问题标题】:Magento API V2 - add an additional attribute to API responseMagento API V2 - 向 API 响应添加附加属性
【发布时间】:2023-03-18 11:03:02
【问题描述】:

我正在使用 Magento API V2。

当我调用 salesOrderCreditmemoInfo 时,我会收到一条回复,其中包含贷项通知单详细信息以及与订单相关的产品列表。

但在产品项目列表中没有 product_type 属性。

我想手动编辑响应以添加此属性。

我尝试编辑: app\code\core\Mage\Sales\Model\Order\Creditmemo\Api.php

并替换:

public function info($creditmemoIncrementId)
{
    ...
    $result['items'] = array();
    foreach ($creditmemo->getAllItems() as $item) {
        $result['items'][] = $this->_getAttributes($item, 'creditmemo_item');
    }

使用以下 - (基本上是在数组中附加一个额外的属性):

 public function info($creditmemoIncrementId)
    {
      ...
    $result['items'] = array();
    foreach ($creditmemo->getAllItems() as $item) {
            $product_type = '1'; //test value to check if works
            $attribs = $this->_getAttributes($item, 'creditmemo_item');
            $attribs['product_type'] = $product_type;

            $result['items'][] = $attribs;
        }

当我执行 mage::log($result) 时,额外的属性似乎已正确添加到数组中。 (也表明这个函数是被调用的) 但它对实际的 API 响应没有影响。

我是完全看错地方了,还是有其他需要更新的地方?

【问题讨论】:

    标签: api magento soap


    【解决方案1】:

    由于您使用的是 SOAP V2,您应该更新 wsdl.xml 以获取输出。

    对于您的情况,它是 product_type 和 刷新服务器上的缓存。 /tmp 加载已更新的新 wsdl.xml。不要忘记去系统->缓存管理清除所有缓存。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-05
    • 1970-01-01
    • 1970-01-01
    • 2013-06-04
    • 2021-06-23
    相关资源
    最近更新 更多