In Magento il prezzo dei prodotti semplici collegati a un configurabile viene calcolato come differenza dal prezzo del prodotto configurabile.
Per ovviare a questo problema e poter impostare direttamente il prezzo del prodotto semplice, è disponibile su MagentoConnect il modulo SimpleConfigurableProducts di OrganicInternet.
Purtroppo tale modulo è affetto da un bug per cui, quando un prodotto viene inserito nel carrello, non vengono visualizzate le opzioni configurabili che sono state selezionate. Tale comportamento è dovuto al fatto che quando SimpleConfigurableProducts è attivo, nel carrello non viene inserito il prodotto configurabile con le sue opzioni, ma viene inserito direttamente il prodotto semplice.
Riportiamo di seguito la correzione del bug.
Il file che va modificato è app/code/community/OrganicInternet/SimpleConfigurableProducts/Checkout/Block/Cart/Item. Bisogna aggiungere alla fine del file la funzione getProductOptions()
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | public function getProductOptions() { $options = array(); $parent=$this->getConfigurableProductParent(); $attributes=$parent->getTypeInstance()->getConfigurableAttributes(); foreach($attributes as $attribute){ $attribute_id=$attribute->getProductAttribute()->getId(); $attribute_code=$attribute->getProductAttribute()->getAttributeCode(); $childProduct=Mage::getModel('catalog/product')->load($this->getProduct()->getId()); $options[] = array( 'label' => $attribute->getProductAttribute()->getFrontend()->getLabel(), 'value' => $childProduct->getAttributeText($attribute_code), 'print_value' => $childProduct->getAttributeText($attribute_code), 'option_id' => $attribute_id, 'option_type' => $attribute->getType() ); } return $options; } |
