1: <?php
2: /**
3: * Magento
4: *
5: * NOTICE OF LICENSE
6: *
7: * This source file is subject to the Open Software License (OSL 3.0)
8: * that is bundled with this package in the file LICENSE.txt.
9: * It is also available through the world-wide-web at this URL:
10: * http://opensource.org/licenses/osl-3.0.php
11: * If you did not receive a copy of the license and are unable to
12: * obtain it through the world-wide-web, please send an email
13: * to license@magentocommerce.com so we can send you a copy immediately.
14: *
15: * DISCLAIMER
16: *
17: * Do not edit or add to this file if you wish to upgrade Magento to newer
18: * versions in the future. If you wish to customize Magento for your
19: * needs please refer to http://www.magentocommerce.com for more information.
20: *
21: * @category Mage
22: * @package Mage_Sales
23: * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24: * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25: */
26:
27:
28: /**
29: * Sales Order Email items default renderer
30: *
31: * @category Mage
32: * @package Mage_Sales
33: * @author Magento Core Team <core@magentocommerce.com>
34: */
35: class Mage_Sales_Block_Order_Email_Items_Default extends Mage_Core_Block_Template
36: {
37: /**
38: * Retrieve current order model instance
39: *
40: * @return Mage_Sales_Model_Order
41: */
42: public function getOrder()
43: {
44: return $this->getItem()->getOrder();
45: }
46:
47: public function getItemOptions()
48: {
49: $result = array();
50: if ($options = $this->getItem()->getOrderItem()->getProductOptions()) {
51: if (isset($options['options'])) {
52: $result = array_merge($result, $options['options']);
53: }
54: if (isset($options['additional_options'])) {
55: $result = array_merge($result, $options['additional_options']);
56: }
57: if (isset($options['attributes_info'])) {
58: $result = array_merge($result, $options['attributes_info']);
59: }
60: }
61:
62: return $result;
63: }
64:
65: public function getValueHtml($value)
66: {
67: if (is_array($value)) {
68: return sprintf('%d', $value['qty']) . ' x ' . $this->htmlEscape($value['title']) . " " . $this->getItem()->getOrder()->formatPrice($value['price']);
69: } else {
70: return $this->htmlEscape($value);
71: }
72: }
73:
74: public function getSku($item)
75: {
76: if ($item->getOrderItem()->getProductOptionByCode('simple_sku'))
77: return $item->getOrderItem()->getProductOptionByCode('simple_sku');
78: else
79: return $item->getSku();
80: }
81:
82: /**
83: * Return product additional information block
84: *
85: * @return Mage_Core_Block_Abstract
86: */
87: public function getProductAdditionalInformationBlock()
88: {
89: return $this->getLayout()->getBlock('additional.product.info');
90: }
91: }
92: