Magento :: Как отфильтровать лишнюю информацию? - PullRequest
0 голосов
/ 28 октября 2011

Я пытаюсь получить список клиентов через вызов API, и я получаю список данных клиента, но он возвращает все атрибуты, связанные с клиентами, но я хочу только customer name,employee_id,emailбыть восстановленным.в magento api wiki я обнаружил, что customer.list принимает два набора аргументов (array filters & filter list). Может ли кто-нибудь сказать мне разницу между двумя и четырьмя аргументами, которые я использовал, используя приведенный ниже код, чтобы получить только customer_id, email & firstname но var_dump(); отображает всю информацию о клиенте, как мне получить только тот атрибут, который я хочу?Заранее спасибо.

<?php 
     $proxy = new SoapClient('http://www.localhost/magento/index.php/api/soap/?wsdl');
    $sessionId = $proxy->login('test', '123456');
    // Get new customer info
    $filters=array('employee_id'=>array('eq'=>'234567'));
    $filter_list=array('customer_id','email','firstname');
    $results= $proxy->call($sessionId, 'customer.list',array($filters),array($filter_list));
    var_dump($results);  

    ?>

1 Ответ

0 голосов
/ 28 октября 2011

Фильтры предназначены для получения только тех записей клиентов, которые соответствуют этим конкретным атрибутам.

У вас есть несколько вариантов:

  1. Добавить новую конечную точку API для получения нужных значений.
  2. Взломайте ядро ​​Customer wsdl и удалите ненужные атрибуты.
  3. После того, как ваш вызов API проходит через каждый массив и сбрасывает нежелательные значения.

Добавление пользовательской конечной точки

Ну в принципеВы должны создать новый модуль, расширяющий API-интерфейс ядра. Его нетрудно сделать. В следующем руководстве подробно описывается

http://www.magentocommerce.com/wiki/doc/webservices-api/custom-api

...