настраиваемые параметры продукта не добавляются в корзину с помощью api мыла magento
Я попытался добавить настраиваемый продукт с помощью api мыла magento. Я использую следующий код для добавления
$product = array(
'product_id' => 23, // simple product id
'sku' => 'H001-Yellow-22',
'qty' => '1',
'super_attribute' => Array( [92] => 10, [134] => 3 ) // color is yellow and
size is 22
);
$client->shoppingCartProductAdd($session,$cartId,array($product),'1');
Вместо супертрибута я также дал вот так
'super_attribute' => array(
0 => array(
'key' => 92,
'value' => 10
),
1 => array(
'key' => 134,
'value' => 3
)
)
Но опции не добавляются в корзину. Почему опции не добавляются в корзину? Как будут добавлены опции?
2 answers
Наконец-то мой продукт конфигурации добавлен в корзину с помощью api magento
$product = array(
'product_id' => 19, // config product id
'sku' => 'H001',
'qty' => '1',
'super_attribute' => array(
0 => array(
'key' => 92, //attribute id
'value' => 10 //value
),
1 => array(
'key' => 134,
'value' => 3
)
)
);
$client->shoppingCartProductAdd($session,$cartId, array($product));
Для меня это не сработало так, как описано в принятом ответе. Поэтому я просмотрел код в magento. На самом деле это работает точно так же, как добавление товара в корзину работает в браузере:
$proxy->call(
$sessionId,
'cart_product.add',
array(
$shoppingCartIncrementId,
[
[
'product_id' => 83,
'qty' => 1,
'super_attribute' => [
'501' => '36', // attributeId => valueId
'502' => '41'
]
]
]
)
);
Ключи массива super_attribute
являются идентификаторами атрибутов настраиваемых атрибутов (например, идентификатором атрибута цвета). Значения - это идентификаторы значений (например, идентификатор красного значения).
Это минималистичный пример, я использовал только необходимые атрибуты для мыла вызов. Я использую SOAP API v1, но вы также можете сделать это с помощью SOAP API v2, используя shoppingCartProductAdd
.