我正在使用 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 响应没有影响。
我是完全找错了地方还是我需要更新其他东西?
最佳答案
由于您使用的是 SOAP V2,您应该更新 wsdl.xml
得到输出。
对于您的情况,它是 product_type 并刷新服务器上的缓存。 /tmp 加载新 wsdl.xml
那个已经更新了。别忘了去系统 -> 缓存管理 清除所有缓存。
关于api - Magento API V2 - 为 API 响应添加附加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11222415/