2012-06-27 8 views
5

Tôi đang sử dụng API Magento V2.Magento API V2 - thêm thuộc tính bổ sung vào phản hồi API

Khi tôi gọi salesOrderCreditmemoInfo, tôi nhận được phản hồi với chi tiết ghi nhớ tín dụng và danh sách các sản phẩm được liên kết với đơn đặt hàng.

Nhưng trong danh sách các mục sản phẩm không có thuộc tính product_type.

Tôi muốn chỉnh sửa phản hồi theo cách thủ công để thêm thuộc tính này.

tôi đã cố gắng chỉnh sửa: ứng dụng \ đang \ core \ Mage \ Sales \ mẫu \ tự \ Creditmemo \ Api.php

Và thay thế:

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

Với những điều sau - (về cơ bản phụ thêm một thuộc tính thêm vào mảng):

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; 
     } 

Khi tôi làm pháp sư :: log ($ result), thuộc tính thêm dường như được thêm correc tly vào mảng. (cũng chỉ ra rằng chức năng này là một trong những nhận được gọi là) Nhưng nó không có tác động đến phản ứng API thực tế.

Tôi có đang tìm kiếm địa điểm không đúng hoặc có thứ gì khác mà tôi cần cập nhật không?

Trả lời

7

Vì Bạn đang sử dụng SOAP V2, bạn nên cập nhậtwsdl.xmlđể nhận kết quả.

Trong trường hợp của bạn là product_typelàm mới bộ nhớ cache trên máy chủ. /tmp để tải mới wsdl.xml đã được cập nhật. đừng quên truy cập vào hệ thống -> Quản lý bộ nhớ cache xóa tất cả bộ nhớ cache.

+4

Điểm hoàn toàn nhờ cảm ơn – elMarquis

+0

@Josua, bạn có thể đề xuất một số giải pháp cho vấn đề này http://stackoverflow.com/questions/19811307/get-simple-product-sku-and-qty-using-salesorderinfo-of-soap -api-in-magento – Muk

+0

@Muk roger rằng –