Magento API V2 - 为API响应添加其他属性

时间:2012-06-27 08:41:49

标签: api magento soap

我正在使用Magento API V2。

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

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

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

我尝试编辑: 应用\代码\核心\法师\ SALES \模型\订单\信用额凭证\ 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响应没有影响。

我是在寻找错误的地方,还是我需要更新其他内容?

1 个答案:

答案 0 :(得分:8)

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

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