7

我正在使用 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响应没有影响。

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

4

1 回答 1

6

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

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

于 2012-08-05T18:39:09.070 回答