я не знаю, если это вообще возможно, чтобы получить список СМИ со списком продуктов без необходимости делать несколько .call() 'sMagento API: Получить продукты/детали со средствами массовой информации в одном вызове
ли multiCall() вариант как-то? Я должен иметь возвращаемые значения из первого вызова в этом multiCall(), чтобы вставить во второй, который извлекает носитель, но документация Magento, по моему мнению, оставляет желать лучшего.
Должен ли я создать собственное расширение API только для того, чтобы сделать что-то такое же простое, как URL-адрес возврата изображения с информацией о продукте?
Вот что у меня есть на данный момент:
<?php
$soap = new SoapClient('http://hello-magento.local/magento/api/soap?wsdl');
$session_id = $soap->login('username', 'password');
$product_list = $soap->call($session_id, 'product.list');
$products = array();
foreach($product_list as $product_item)
{
$product_id = $product_item['product_id'];
$product_image = $soap->call($session_id, 'catalog_product_attribute_media.list', $product_id);
$product_details = array();
$product_details['id'] = $product_id;
$product_details['name'] = $product_item['name'];
$product_details['image'] = $product_image[0]['url'];
$products['products'][] = $product_details;
}
$soap->endSession($session_id);
echo json_encode($products);
?>