*/ class Mage_Bundle_Block_Checkout_Cart_Item_Renderer extends Mage_Checkout_Block_Cart_Item_Renderer { /** * Get bundled selections (slections-products collection) * * Returns array of options objects. * Each option object will contain array of selections objects * * @return array */ protected function _getBundleOptions($useCache = true) { return Mage::helper('bundle/catalog_product_configuration')->getBundleOptions($this->getItem()); } /** * Obtain final price of selection in a bundle product * * @param Mage_Catalog_Model_Product $selectionProduct * @return decimal */ protected function _getSelectionFinalPrice($selectionProduct) { return Mage::helper('bundle/catalog_product_configuration')->getSelectionFinalPrice($this->getItem(), $selectionProduct); } /** * Get selection quantity * * @param int $selectionId * @return decimal */ protected function _getSelectionQty($selectionId) { return Mage::helper('bundle/catalog_product_configuration')->getSelectionQty($this->getProduct(), $selectionId); } /** * Overloaded method for getting list of bundle options * Caches result in quote item, because it can be used in cart 'recent view' and on same page in cart checkout * * @return array */ public function getOptionList() { return Mage::helper('bundle/catalog_product_configuration')->getOptions($this->getItem()); } /** * Return cart backorder messages * * @return array */ public function getMessages() { $messages = $this->getData('messages'); if (is_null($messages)) { $messages = array(); } $options = $this->getItem()->getQtyOptions(); foreach ($options as $option) { if ($option->getMessage()) { $messages[] = array( 'text' => $option->getMessage(), 'type' => ($this->getItem()->getHasError()) ? 'error' : 'notice' ); } } return $messages; } }