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_Bundle
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: * Adminhtml catalog product bundle items tab block
29: *
30: * @category Mage
31: * @package Mage_Bundle
32: * @author Magento Core Team <core@magentocommerce.com>
33: */
34: class Mage_Bundle_Block_Adminhtml_Catalog_Product_Edit_Tab_Bundle extends Mage_Adminhtml_Block_Widget
35: implements Mage_Adminhtml_Block_Widget_Tab_Interface
36: {
37: protected $_product = null;
38: public function __construct()
39: {
40: parent::__construct();
41: $this->setSkipGenerateContent(true);
42: $this->setTemplate('bundle/product/edit/bundle.phtml');
43: }
44:
45: public function getTabUrl()
46: {
47: return $this->getUrl('*/bundle_product_edit/form', array('_current' => true));
48: }
49:
50: public function getTabClass()
51: {
52: return 'ajax';
53: }
54:
55: /**
56: * Prepare layout
57: *
58: * @return Mage_Bundle_Block_Adminhtml_Catalog_Product_Edit_Tab_Bundle
59: */
60: protected function _prepareLayout()
61: {
62: $this->setChild('add_button',
63: $this->getLayout()->createBlock('adminhtml/widget_button')
64: ->setData(array(
65: 'label' => Mage::helper('bundle')->__('Add New Option'),
66: 'class' => 'add',
67: 'id' => 'add_new_option',
68: 'on_click' => 'bOption.add()'
69: ))
70: );
71:
72: $this->setChild('options_box',
73: $this->getLayout()->createBlock('bundle/adminhtml_catalog_product_edit_tab_bundle_option',
74: 'adminhtml.catalog.product.edit.tab.bundle.option')
75: );
76:
77: return parent::_prepareLayout();
78: }
79:
80: /**
81: * Check block readonly
82: *
83: * @return boolean
84: */
85: public function isReadonly()
86: {
87: return $this->getProduct()->getCompositeReadonly();
88: }
89:
90: public function getAddButtonHtml()
91: {
92: return $this->getChildHtml('add_button');
93: }
94:
95: public function getOptionsBoxHtml()
96: {
97: return $this->getChildHtml('options_box');
98: }
99:
100: public function getFieldSuffix()
101: {
102: return 'product';
103: }
104:
105: public function getProduct()
106: {
107: return Mage::registry('product');
108: }
109:
110: public function getTabLabel()
111: {
112: return Mage::helper('bundle')->__('Bundle Items');
113: }
114: public function getTabTitle()
115: {
116: return Mage::helper('bundle')->__('Bundle Items');
117: }
118: public function canShowTab()
119: {
120: return true;
121: }
122: public function isHidden()
123: {
124: return false;
125: }
126: }
127: