настраиваемые параметры продукта не добавляются в корзину с помощью 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
                )
            )

Но опции не добавляются в корзину. Почему опции не добавляются в корзину? Как будут добавлены опции?

Author: Marius, 2014-07-08

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));
 3
Author: alamelu, 2014-07-09 08:49:41

Для меня это не сработало так, как описано в принятом ответе. Поэтому я просмотрел код в 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.

 3
Author: Jan Wy, 2015-01-27 10:23:15