Как установить атрибут продукта в Magento программно? - PullRequest
0 голосов
/ 22 марта 2012

У меня есть экземпляр Magento, и я использую следующий код:

include_once '../app/Mage.php';
Mage::app();

try{

     $product_id = '';

     // get query string
     if (!isset($_GET['product_id'])) { $product_id = ''; } else { $product_id = $_GET['product_id']; }
     if (!isset($_GET['qty'])) { $qty = '1'; } else { $qty = $_GET['qty']; }

     $product = Mage::getModel('catalog/product')->load($product_id);

     $session = Mage::getSingleton('core/session', array('name'=>'frontend'));
     $cart = Mage::helper('checkout/cart')->getCart();

     $cart->addProduct($product, $qty);

     $session->setLastAddedProductId($product->getId());
     $session->setCartWasUpdated(true);

     $cart->save();

     $result = "{'result':'success'}";
     echo $result;

} catch (Exception $e) {
     $result = "{'result':'error'";
     $result .= ", 'message': '".$e->getMessage()."'}";
     echo $result;
}

Однако я получаю сообщение об ошибке: «Пожалуйста, укажите требуемые опции продукта».Как установить атрибуты «Цвета» и по умолчанию «черный» в предыдущем коде?Спасибо!

1 Ответ

0 голосов
/ 22 марта 2012

Для добавления настраиваемых параметров в корзину необходимо указать параметры для ее атрибутов.
Пример данных:

        [product] => 3
        [related_product] => 
        [super_attribute] => Array
            (
                [75] => 20
                [85] => 15
            )

        [qty] => 1

Здесь 75 - это "color" attribute_id, 20 -> 'option_id'цвета "Черный"
85 - это атрибут "Размер", идентификатор_ 15,> параметр_идентификатора размера "Большой".
Так что проверьте в своей базе данных, что такое атрибут_ид атрибута Color и option_id' Черный'color.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...