decoding

Magento aggiungere un prodotto con opzioni personalizzate al carrello via php

Reading Time: < 1 minuteFavoriteLoadingAggiungi ai preferiti

magenkit_logo_invoiceIn 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);
}