/
Renderer.php
106 lines (99 loc) · 3.32 KB
/
Renderer.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<?php
/**
* Magento
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@magentocommerce.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade Magento to newer
* versions in the future. If you wish to customize Magento for your
* needs please refer to http://www.magentocommerce.com for more information.
*
* @category Mage
* @package Mage_Bundle
* @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
*/
/**
* Shopping cart item render block
*
* @category Mage
* @package Mage_Bundle
* @author Magento Core Team <core@magentocommerce.com>
*/
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;
}
}