2012-03-21 2 views
0

У меня есть экземпляр Magento, и я использую следующий код:Как установить атрибут продукта в 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; 
} 

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

ответ

0

Чтобы добавить конфигурацию в корзину, вам необходимо указать параметры для своих атрибутов.
данных Пример:

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

     [qty] => 1 

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

+0

Спасибо, Сержи! Мне удалось найти идентификатор атрибута, который мне нужен, и он отлично работал. – Katzumi

Смежные вопросы