【发布时间】:2014-08-03 06:48:42
【问题描述】:
我正在尝试使用 catalogProductList (soap v2) 从 Magento API 获取产品,这是我的功能。
public function get_products() {
$products = array();
$login = $this->login_info();
$proxy = new SoapClient($login['url']);
$sessionId = $proxy->login($login['user'], $login['pass']);
$result = $proxy->catalogProductList($sessionId);
foreach($result as $value) {
$products[] = $proxy->catalogProductInfo($sessionId, $value->product_id);
}
echo "<pre>";
var_dump($products);
echo "</pre>";
}
但是,由于请求处于循环中,它会为每个产品向 Magento API 发出请求。
我想知道是否有解决方案可以在同一个请求中获取多个产品信息(基于提供的 product_id)。我认为每个请求可能包含 50 或 100 个产品信息,这将大大减少获取所有产品的时间。
我在http://www.magentocommerce.com/api/soap/introduction.html找到了
$params = array('filter' => array(
array('key' => 'status', 'value' => 'pending'),
array('key' => 'customer_is_guest', 'value' => '1')
));
$result = $client->salesOrderList($sessionId, $params);
但据我了解,它更多的是过滤产品,所以我不知道它是否有太大帮助。
【问题讨论】: