In Magento, come del resto in ogni e-commerce,  è possibile mettere in vendita prodotti con opzioni e prodotti senza opzioni.

Un prodotto con opzioni è ad esempio una maglietta di colore rosso, verde e giallo; al momento dell’acquisto il cliente deve scegliere il colore desiderato della maglietta.

Nella procedura di acquisto da sito web, scelta la maglietta, per metterla nel carrello dovremmo scegliere il colore.

Se vogliamo aggiungere al carrello questo prodotto senza passare dalla scheda prodotto, senza quindi scegliere manualmente il valore delle opzioni, nel caso della maglietta il colore, possiamo procedere come segue:

$productId = 123; //ID del nostro prodotto
$qty = 1; // la quantità
$optionGroupId = 1; //ID del gruppo opzioni
$optionId = 1; //ID opzione

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

if ($_product) {
$params = array(
'product' => (int)$productId,
'qty' => 1,
'options' => array($optionGroupId => $optionId)
);
$paramsObj = new Varien_Object();
$paramsObj->setData($params);
$cart = Mage::getSingleton('checkout/cart');
$cart->addProduct($_product, $paramsObj);
$cart->save();
Mage::getSingleton('checkout/session')->setCartWasUpdated(true);
}