Tb_Extratabs - Version 0.0.1

Version Notes

Initial release.

Download this release

Release Info

Developer Rehan Mobin
Extension Tb_Extratabs
Version 0.0.1
Comparing to
See all releases


Version 0.0.1

app/code/local/Tb/Extratabs/Adminhtml/Model/System/Config/Source/Attributes.php ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /* Do not edit or add to this file if you wish to upgrade Magento to newer
4
+ * versions in the future.
5
+ *****************************************************
6
+ * @category Tb
7
+ * @package Tb_Extratabs
8
+ * @copyright Copyright (c) 2014
9
+ * @license http://opensource.org/licenses/OSL-3.0
10
+ */
11
+
12
+ class Tb_Extratabs_Adminhtml_Model_System_Config_Source_Attributes
13
+ {
14
+ public function toOptionArray()
15
+ {
16
+
17
+ $collection = Mage::getResourceModel('eav/entity_attribute_collection')
18
+ ->setEntityTypeFilter( Mage::getModel('eav/entity')->setType('catalog_product')->getTypeId() )
19
+ ->load();
20
+
21
+ $array = array();
22
+
23
+ $array[] = array(
24
+ 'label' => 'Please select',
25
+ 'value' => ''
26
+ );
27
+
28
+ foreach ($collection as $attribute) {
29
+ if($attribute->getIsVisible() && $attribute->getFrontendInput() == 'text' OR $attribute->getIsVisible() && $attribute->getFrontendInput() == 'textarea'):
30
+ $array[] = array(
31
+ 'label' => $attribute->getFrontendLabel(),
32
+ 'value' => $attribute->getAttributeCode()
33
+ );
34
+ endif;
35
+ }
36
+
37
+ return $array;
38
+
39
+ }
40
+ }
41
+
42
+
43
+
44
+
app/code/local/Tb/Extratabs/Block/Product/View/Tabs.php ADDED
@@ -0,0 +1,158 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Tb Extratabs tabs
5
+ *
6
+ * @category Tb
7
+ * @package Tb_Extratabs
8
+ * @author Muhammad Rehan Mobin <m.rehan.mobin@gmail.com>
9
+ */
10
+ class Tb_Extratabs_Block_Product_View_Tabs extends Mage_Core_Block_Template
11
+ {
12
+ protected $_tabs = array();
13
+
14
+
15
+ /**
16
+ * Add tab to the container
17
+ *
18
+ * @param string $title
19
+ * @param string $block
20
+ * @param string $template
21
+ */
22
+ function addTab($alias, $title, $block, $template)
23
+ {
24
+
25
+ if (!$title || !$block || !$template) {
26
+ return false;
27
+ }
28
+
29
+ $this->_tabs[] = array(
30
+ 'alias' => $alias,
31
+ 'title' => $title
32
+ );
33
+
34
+ $this->setChild($alias,
35
+ $this->getLayout()->createBlock($block, $alias)
36
+ ->setTemplate($template)
37
+ );
38
+ }
39
+
40
+ /**
41
+ * Add cms block tab to the container
42
+ *
43
+ * @param string $title
44
+ * @param string $block
45
+ * @param string $template
46
+ */
47
+ function addCmsTab($alias, $title, $block, $id)
48
+ {
49
+
50
+ if (!$title || !$block || !$id) {
51
+ return false;
52
+ }
53
+
54
+ $this->_tabs[] = array(
55
+ 'alias' => $alias,
56
+ 'title' => $title
57
+ );
58
+
59
+ $this->setChild($alias,
60
+ $this->getLayout()->createBlock('cms/block')->setBlockId($id)
61
+ );
62
+ }
63
+
64
+ function getTabs()
65
+ {
66
+ if(Mage::helper('extratabs')->descriptionTab()){
67
+ $this->addTab('description',
68
+ $this->__('Description'),
69
+ 'catalog/product_view_description',
70
+ 'extratabs/product/view/description.phtml');
71
+ }
72
+ if(Mage::helper('extratabs')->additionalTab()){
73
+ $this->addTab('additional',
74
+ $this->__('Additional Information'),
75
+ 'catalog/product_view_attributes',
76
+ 'extratabs/product/view/attributes.phtml');
77
+ }
78
+
79
+ // add product attribute tabs selected by admin
80
+
81
+ // tab1
82
+ if($data = Mage::helper('extratabs')->attributeTab1()){
83
+ $this->addTab('att1_'.$data['code'],
84
+ $data['title'],
85
+ 'catalog/product_view',
86
+ 'extratabs/product/view/attributetab1.phtml'
87
+ );
88
+ }
89
+
90
+ // tab2
91
+ if($data = Mage::helper('extratabs')->attributeTab2()){
92
+ $this->addTab('att2_'.$data['code'],
93
+ $data['title'],
94
+ 'catalog/product_view',
95
+ 'extratabs/product/view/attributetab2.phtml'
96
+ );
97
+ }
98
+
99
+ // tab3
100
+ if($data = Mage::helper('extratabs')->attributeTab3()){
101
+ $this->addTab('att3_'.$data['code'],
102
+ $data['title'],
103
+ 'catalog/product_view',
104
+ 'extratabs/product/view/attributetab3.phtml'
105
+ );
106
+ }
107
+
108
+ // add cms static block tabs
109
+ if(Mage::helper('extratabs')->staticBlockTab()){
110
+ $_collection = Mage::getModel('cms/block')
111
+ ->getCollection()
112
+ ->addStoreFilter(Mage::app()
113
+ ->getStore()->getId())
114
+ ->addFieldToFilter('is_active', 1)
115
+ ->addFieldToFilter('identifier',
116
+ array('like' => 'extratab_%'))->load();
117
+ if (count($_collection)){
118
+ foreach($_collection as $_block){
119
+ $this->addCmsTab('et_tab-'.$_block->getId(),
120
+ $this->__($_block->getTitle()),
121
+ 'cms/block',
122
+ $_block->getId());
123
+ }
124
+ }
125
+ }
126
+
127
+ // add review tab
128
+ if(Mage::helper('extratabs')->reviewTab()){
129
+ $this->addTab('tab_review',
130
+ $this->__('Product Review(s)'),
131
+ 'review/product_view_list',
132
+ 'extratabs/product/view/tab_review.phtml');
133
+ }
134
+ // add upSells tab
135
+ if(Mage::helper('extratabs')->upsellTab()){
136
+ $this->addTab('upsell_products',
137
+ $this->__('We Also Recommend'),
138
+ 'catalog/product_list_upsell',
139
+ 'catalog/product/list/upsell.phtml');
140
+ }
141
+ // add related products tab
142
+ if(Mage::helper('extratabs')->relatedTab()){
143
+ $this->addTab('related',
144
+ $this->__('Related Products'),
145
+ 'catalog/product_list_related',
146
+ 'extratabs/product/list/related.phtml');
147
+ }
148
+ // add product tags tab
149
+ if(Mage::helper('extratabs')->tagsTab()){
150
+ $this->addTab('tags',
151
+ $this->__('Product Tags'),
152
+ 'tag/product_list',
153
+ 'tag/list.phtml');
154
+ }
155
+
156
+ return $this->_tabs;
157
+ }
158
+ }
app/code/local/Tb/Extratabs/Helper/Data.php ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /* Do not edit or add to this file if you wish to upgrade Magento to newer
4
+ * versions in the future.
5
+ *****************************************************
6
+ * @category Tb
7
+ * @package Tb_Extratabs
8
+ * @copyright Copyright (c) 2014
9
+ * @license http://opensource.org/licenses/OSL-3.0
10
+ */
11
+
12
+ class Tb_Extratabs_Helper_Data extends Mage_Core_Helper_Abstract
13
+ {
14
+ public function descriptionTab(){
15
+ return Mage::getStoreConfig('extratabsset/general_settings/description');
16
+ }
17
+
18
+ public function upsellTab(){
19
+ return Mage::getStoreConfig('extratabsset/general_settings/upsell');
20
+ }
21
+
22
+ public function reviewTab(){
23
+ return Mage::getStoreConfig('extratabsset/general_settings/review');
24
+ }
25
+
26
+ public function relatedTab(){
27
+ return Mage::getStoreConfig('extratabsset/general_settings/related');
28
+ }
29
+
30
+ public function additionalTab(){
31
+ return Mage::getStoreConfig('extratabsset/general_settings/additional');
32
+ }
33
+
34
+ public function tagsTab(){
35
+ return Mage::getStoreConfig('extratabsset/general_settings/tags');
36
+ }
37
+
38
+ public function staticBlockTab(){
39
+
40
+ return Mage::getStoreConfig('extratabsset/general_settings/blocks');
41
+ }
42
+
43
+ public function attributeTab1(){
44
+ if(Mage::getStoreConfig('extratabsset/custom_attributes/active_tab1')){
45
+ $arr = array(
46
+ 'title' => Mage::getStoreConfig('extratabsset/custom_attributes/tab1_title'),
47
+ 'code' => Mage::getStoreConfig('extratabsset/custom_attributes/tab1_id'),
48
+ 'template' => 'extratabs/product/view/attribute1.phtml'
49
+ );
50
+ return $arr;
51
+ }else{
52
+ return false;
53
+ }
54
+ }
55
+
56
+ public function attributeTab2(){
57
+ if(Mage::getStoreConfig('extratabsset/custom_attributes/active_tab2')){
58
+ $arr = array(
59
+ 'title' => Mage::getStoreConfig('extratabsset/custom_attributes/tab2_title'),
60
+ 'code' => Mage::getStoreConfig('extratabsset/custom_attributes/tab1_id'),
61
+ 'template' => 'extratabs/product/view/attribute2.phtml'
62
+ );
63
+ return $arr;
64
+ }else{
65
+ return false;
66
+ }
67
+ }
68
+
69
+ public function attributeTab3(){
70
+ if(Mage::getStoreConfig('extratabsset/custom_attributes/active_tab3')){
71
+ $arr = array(
72
+ 'title' => Mage::getStoreConfig('extratabsset/custom_attributes/tab3_title'),
73
+ 'code' => Mage::getStoreConfig('extratabsset/custom_attributes/tab3_id'),
74
+ 'template' => 'extratabs/product/view/attribute3.phtml'
75
+ );
76
+ return $arr;
77
+ }else{
78
+ return false;
79
+ }
80
+ }
81
+
82
+ }
app/code/local/Tb/Extratabs/etc/adminhtml.xml ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" ?>
2
+ <config>
3
+ <acl>
4
+ <resources>
5
+ <all>
6
+ <title>
7
+ Allow Everything
8
+ </title>
9
+ </all>
10
+ <admin>
11
+ <children>
12
+ <system>
13
+ <children>
14
+ <config>
15
+ <children>
16
+ <extratabsset>
17
+ <title>extratabs settings</title>
18
+ </extratabsset>
19
+ </children>
20
+ </config>
21
+ </children>
22
+ </system>
23
+ </children>
24
+ </admin>
25
+ </resources>
26
+ </acl>
27
+ </config>
app/code/local/Tb/Extratabs/etc/config.xml ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <modules>
4
+ <Tb_Extratabs>
5
+ <version>0.0.1</version>
6
+ </Tb_Extratabs>
7
+ </modules>
8
+ <global>
9
+ <helpers>
10
+ <extratabs>
11
+ <class>Tb_Extratabs_Helper</class>
12
+ </extratabs>
13
+ </helpers>
14
+ <blocks>
15
+ <catalog>
16
+ <rewrite>
17
+ <product_view_tabs>
18
+ Tb_Extratabs_Block_Product_View_Tabs
19
+ </product_view_tabs>
20
+ </rewrite>
21
+ </catalog>
22
+ <extratabs>
23
+ <class>Tb_Extratabs_Block</class>
24
+ </extratabs>
25
+ </blocks>
26
+ <models>
27
+ <extratabs_adminhtml>
28
+ <class>Tb_Extratabs_Adminhtml_Model</class>
29
+ </extratabs_adminhtml>
30
+ </models>
31
+ </global>
32
+ <frontend>
33
+ <layout>
34
+ <updates>
35
+ <extratabs>
36
+ <file>extratabs.xml</file>
37
+ </extratabs>
38
+ </updates>
39
+ </layout>
40
+ </frontend>
41
+
42
+ </config>
app/code/local/Tb/Extratabs/etc/system.xml ADDED
@@ -0,0 +1,230 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" ?>
2
+ <config>
3
+ <tabs>
4
+ <tbextratabs translate="label" module="extratabs">
5
+ <label>TB extratabs</label>
6
+ <sort_order>300</sort_order>
7
+ </tbextratabs>
8
+ </tabs>
9
+ <sections>
10
+ <extratabsset translate="label" module="extratabs">
11
+ <label>TB Extra Tabs</label>
12
+ <tab>tbextratabs</tab>
13
+ <frontend_type>text</frontend_type>
14
+ <sort_order>100</sort_order>
15
+ <show_in_default>1</show_in_default>
16
+ <show_in_website>1</show_in_website>
17
+ <show_in_store>1</show_in_store>
18
+ <groups>
19
+ <general_settings translate="label">
20
+ <label>General settings</label>
21
+ <frontend_type>text</frontend_type>
22
+ <sort_order>20</sort_order>
23
+ <show_in_default>1</show_in_default>
24
+ <show_in_website>1</show_in_website>
25
+ <show_in_store>1</show_in_store>
26
+ <fields>
27
+ <enable translate="label">
28
+ <label>Enable</label>
29
+ <frontend_type>select</frontend_type>
30
+ <sort_order>10</sort_order>
31
+ <source_model>adminhtml/system_config_source_yesno</source_model>
32
+ <show_in_default>1</show_in_default>
33
+ <show_in_website>1</show_in_website>
34
+ <show_in_store>1</show_in_store>
35
+ <comment></comment>
36
+ </enable>
37
+ <review translate="label">
38
+ <label>Add product reviews</label>
39
+ <frontend_type>select</frontend_type>
40
+ <sort_order>20</sort_order>
41
+ <source_model>adminhtml/system_config_source_yesno</source_model>
42
+ <show_in_default>1</show_in_default>
43
+ <show_in_website>1</show_in_website>
44
+ <show_in_store>1</show_in_store>
45
+ <comment></comment>
46
+ </review>
47
+ <related translate="label">
48
+ <label>Add related products</label>
49
+ <frontend_type>select</frontend_type>
50
+ <sort_order>30</sort_order>
51
+ <source_model>adminhtml/system_config_source_yesno</source_model>
52
+ <show_in_default>1</show_in_default>
53
+ <show_in_website>1</show_in_website>
54
+ <show_in_store>1</show_in_store>
55
+ <comment></comment>
56
+ </related>
57
+ <upsell translate="label">
58
+ <label>Add upsell products</label>
59
+ <frontend_type>select</frontend_type>
60
+ <sort_order>40</sort_order>
61
+ <source_model>adminhtml/system_config_source_yesno</source_model>
62
+ <show_in_default>1</show_in_default>
63
+ <show_in_website>1</show_in_website>
64
+ <show_in_store>1</show_in_store>
65
+ <comment></comment>
66
+ </upsell>
67
+ <blocks translate="label">
68
+ <label>Add Static blocks</label>
69
+ <frontend_type>select</frontend_type>
70
+ <sort_order>50</sort_order>
71
+ <source_model>adminhtml/system_config_source_yesno</source_model>
72
+ <show_in_default>1</show_in_default>
73
+ <show_in_website>1</show_in_website>
74
+ <show_in_store>1</show_in_store>
75
+ <comment>In order to display a custom block, use the Static Block (CMS->Static Blocks section) with the Identifier like "extratab_video", Identifier must start with "extratab_".</comment>
76
+ </blocks>
77
+ <description translate="label">
78
+ <label>Add product description</label>
79
+ <frontend_type>select</frontend_type>
80
+ <sort_order>60</sort_order>
81
+ <source_model>adminhtml/system_config_source_yesno</source_model>
82
+ <show_in_default>1</show_in_default>
83
+ <show_in_website>1</show_in_website>
84
+ <show_in_store>1</show_in_store>
85
+ <comment></comment>
86
+ </description>
87
+ <additional translate="label">
88
+ <label>Add product additional attributes</label>
89
+ <frontend_type>select</frontend_type>
90
+ <sort_order>70</sort_order>
91
+ <source_model>adminhtml/system_config_source_yesno</source_model>
92
+ <show_in_default>1</show_in_default>
93
+ <show_in_website>1</show_in_website>
94
+ <show_in_store>1</show_in_store>
95
+ <comment></comment>
96
+ </additional>
97
+ <tags translate="label">
98
+ <label>Add product tags</label>
99
+ <frontend_type>select</frontend_type>
100
+ <sort_order>80</sort_order>
101
+ <source_model>adminhtml/system_config_source_yesno</source_model>
102
+ <show_in_default>1</show_in_default>
103
+ <show_in_website>1</show_in_website>
104
+ <show_in_store>1</show_in_store>
105
+ <comment></comment>
106
+ </tags>
107
+ </fields>
108
+ </general_settings>
109
+ <custom_attributes translate="label">
110
+ <label>Custom Product Attribute Tabs</label>
111
+ <frontend_type>text</frontend_type>
112
+ <sort_order>30</sort_order>
113
+ <show_in_default>1</show_in_default>
114
+ <show_in_website>1</show_in_website>
115
+ <show_in_store>1</show_in_store>
116
+ <fields>
117
+ <heading1 translate="label">
118
+ <label>Attribute tab #1</label>
119
+ <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
120
+ <sort_order>10</sort_order>
121
+ <show_in_default>1</show_in_default>
122
+ <show_in_website>1</show_in_website>
123
+ <show_in_store>1</show_in_store>
124
+ </heading1>
125
+ <active_tab1 translate="label">
126
+ <label>Enable/Disable</label>
127
+ <frontend_type>select</frontend_type>
128
+ <sort_order>20</sort_order>
129
+ <source_model>adminhtml/system_config_source_enabledisable</source_model>
130
+ <show_in_default>1</show_in_default>
131
+ <show_in_website>1</show_in_website>
132
+ <show_in_store>1</show_in_store>
133
+ </active_tab1>
134
+ <tab1_id translate="label">
135
+ <label>Product Attribute</label>
136
+ <frontend_type>select</frontend_type>
137
+ <source_model>extratabs_adminhtml/system_config_source_attributes</source_model>
138
+ <sort_order>30</sort_order>
139
+ <show_in_default>1</show_in_default>
140
+ <show_in_website>1</show_in_website>
141
+ <show_in_store>1</show_in_store>
142
+ <comment>Select product attribute.</comment>
143
+ </tab1_id>
144
+ <tab1_title translate="label">
145
+ <label>Tab Title</label>
146
+ <frontend_type>text</frontend_type>
147
+ <sort_order>40</sort_order>
148
+ <show_in_default>1</show_in_default>
149
+ <show_in_website>1</show_in_website>
150
+ <show_in_store>1</show_in_store>
151
+ <comment>Enter tab title to show.</comment>
152
+ </tab1_title>
153
+ <heading2 translate="label">
154
+ <label>Attribute tab #2</label>
155
+ <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
156
+ <sort_order>50</sort_order>
157
+ <show_in_default>1</show_in_default>
158
+ <show_in_website>1</show_in_website>
159
+ <show_in_store>1</show_in_store>
160
+ </heading2>
161
+ <active_tab2 translate="label">
162
+ <label>Enable/Disable</label>
163
+ <frontend_type>select</frontend_type>
164
+ <sort_order>60</sort_order>
165
+ <source_model>adminhtml/system_config_source_enabledisable</source_model>
166
+ <show_in_default>1</show_in_default>
167
+ <show_in_website>1</show_in_website>
168
+ <show_in_store>1</show_in_store>
169
+ </active_tab2>
170
+ <tab2_id translate="label">
171
+ <label>Product Attribute</label>
172
+ <frontend_type>select</frontend_type>
173
+ <source_model>extratabs_adminhtml/system_config_source_attributes</source_model>
174
+ <sort_order>70</sort_order>
175
+ <show_in_default>1</show_in_default>
176
+ <show_in_website>1</show_in_website>
177
+ <show_in_store>1</show_in_store>
178
+ <comment>Select product attribute.</comment>
179
+ </tab2_id>
180
+ <tab2_title translate="label">
181
+ <label>Tab Title</label>
182
+ <frontend_type>text</frontend_type>
183
+ <sort_order>80</sort_order>
184
+ <show_in_default>1</show_in_default>
185
+ <show_in_website>1</show_in_website>
186
+ <show_in_store>1</show_in_store>
187
+ <comment>Enter tab title to show.</comment>
188
+ </tab2_title>
189
+ <heading3 translate="label">
190
+ <label>Attribute tab #3</label>
191
+ <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
192
+ <sort_order>90</sort_order>
193
+ <show_in_default>1</show_in_default>
194
+ <show_in_website>1</show_in_website>
195
+ <show_in_store>1</show_in_store>
196
+ </heading3>
197
+ <active_tab3 translate="label">
198
+ <label>Enable/Disable</label>
199
+ <frontend_type>select</frontend_type>
200
+ <sort_order>100</sort_order>
201
+ <source_model>adminhtml/system_config_source_enabledisable</source_model>
202
+ <show_in_default>1</show_in_default>
203
+ <show_in_website>1</show_in_website>
204
+ <show_in_store>1</show_in_store>
205
+ </active_tab3>
206
+ <tab3_id translate="label">
207
+ <label>Product Attribute</label>
208
+ <frontend_type>select</frontend_type>
209
+ <source_model>extratabs_adminhtml/system_config_source_attributes</source_model>
210
+ <sort_order>110</sort_order>
211
+ <show_in_default>1</show_in_default>
212
+ <show_in_website>1</show_in_website>
213
+ <show_in_store>1</show_in_store>
214
+ <comment>Select product attribute.</comment>
215
+ </tab3_id>
216
+ <tab3_title translate="label">
217
+ <label>Tab Title</label>
218
+ <frontend_type>text</frontend_type>
219
+ <sort_order>120s</sort_order>
220
+ <show_in_default>1</show_in_default>
221
+ <show_in_website>1</show_in_website>
222
+ <show_in_store>1</show_in_store>
223
+ <comment>Enter tab title to show.</comment>
224
+ </tab3_title>
225
+ </fields>
226
+ </custom_attributes>
227
+ </groups>
228
+ </extratabsset>
229
+ </sections>
230
+ </config>
app/design/frontend/default/default/layout/extratabs.xml ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <layout version="0.1.0">
2
+
3
+ <catalog_product_view>
4
+ <reference name="head">
5
+ <action ifconfig="extratabsset/general_settings/enable" method="addCss"><stylesheet>css/extratabs.css</stylesheet></action>
6
+ </reference>
7
+ <reference name="product.info">
8
+ <action method="unsetChild" ifconfig="extratabsset/general_settings/upsell"><name>upsell_products</name></action>
9
+ <action method="unSetChild" ifconfig="extratabsset/general_settings/description">
10
+ <name>description</name>
11
+ </action>
12
+ <action method="unSetChild" ifconfig="extratabsset/general_settings/additional">
13
+ <name>additional</name>
14
+ </action>
15
+
16
+ </reference>
17
+ <reference name="product.info.additional">
18
+ <action method="unsetChild" ifconfig="extratabsset/general_settings/tags"><name>product_tag_list</name></action>
19
+ <block type="extratabs/product_view_tabs" name="ext.tabs" as="ext-tabs" before="-">
20
+ <action ifconfig="extratabsset/general_settings/enable" method="setTemplate">
21
+ <template>extratabs/tabs.phtml</template>
22
+ </action>
23
+ </block>
24
+ </reference>
25
+
26
+ <reference name="right">
27
+ <action method="unsetChild" ifconfig="extratabsset/general_settings/related"><name>catalog.product.related</name></action>
28
+ </reference>
29
+
30
+ </catalog_product_view>
31
+
32
+ </layout>
33
+
app/design/frontend/default/default/template/extratabs/product/list/related.phtml ADDED
@@ -0,0 +1,92 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-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 design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+ <?php if($this->getItems()->getSize()): ?>
28
+ <div class="block block-related">
29
+
30
+ <div class="block-content">
31
+ <p class="block-subtitle"><?php echo $this->__('Check items to add to the cart or') ?>&nbsp;<a href="#" onclick="selectAllRelated(this); return false;"><?php echo $this->__('select all') ?></a></p>
32
+ <ol class="mini-products-list" id="block-related">
33
+ <?php foreach($this->getItems() as $_item): ?>
34
+ <li class="item">
35
+ <?php if(!$_item->isComposite() && $_item->isSaleable()): ?>
36
+ <?php if (!$_item->getRequiredOptions()): ?>
37
+ <input type="checkbox" class="checkbox related-checkbox" id="related-checkbox<?php echo $_item->getId() ?>" name="related_products[]" value="<?php echo $_item->getId() ?>" />
38
+ <?php endif; ?>
39
+ <?php endif; ?>
40
+ <div class="product">
41
+ <a href="<?php echo $_item->getProductUrl() ?>" title="<?php echo $this->escapeHtml($_item->getName()) ?>" class="product-image"><img src="<?php echo $this->helper('catalog/image')->init($_item, 'thumbnail')->resize(50) ?>" width="50" height="50" alt="<?php echo $this->escapeHtml($_item->getName()) ?>" /></a>
42
+ <div class="product-details">
43
+ <p class="product-name"><a href="<?php echo $_item->getProductUrl() ?>"><?php echo $this->escapeHtml($_item->getName()) ?></a></p>
44
+ <?php echo $this->getPriceHtml($_item, true, '-related') ?>
45
+ <?php if ($this->helper('wishlist')->isAllow()) : ?>
46
+ <a href="<?php echo $this->getAddToWishlistUrl($_item) ?>" class="link-wishlist"><?php echo $this->__('Add to Wishlist') ?></a>
47
+ <?php endif; ?>
48
+ </div>
49
+ </div>
50
+ </li>
51
+ <?php endforeach ?>
52
+ </ol>
53
+ <script type="text/javascript">decorateList('block-related', 'none-recursive')</script>
54
+ </div>
55
+ <script type="text/javascript">
56
+ //<![CDATA[
57
+ $$('.related-checkbox').each(function(elem){
58
+ Event.observe(elem, 'click', addRelatedToProduct)
59
+ });
60
+
61
+ var relatedProductsCheckFlag = false;
62
+ function selectAllRelated(txt){
63
+ if (relatedProductsCheckFlag == false) {
64
+ $$('.related-checkbox').each(function(elem){
65
+ elem.checked = true;
66
+ });
67
+ relatedProductsCheckFlag = true;
68
+ txt.innerHTML="<?php echo $this->__('unselect all') ?>";
69
+ } else {
70
+ $$('.related-checkbox').each(function(elem){
71
+ elem.checked = false;
72
+ });
73
+ relatedProductsCheckFlag = false;
74
+ txt.innerHTML="<?php echo $this->__('select all') ?>";
75
+ }
76
+ addRelatedToProduct();
77
+ }
78
+
79
+ function addRelatedToProduct(){
80
+ var checkboxes = $$('.related-checkbox');
81
+ var values = [];
82
+ for(var i=0;i<checkboxes.length;i++){
83
+ if(checkboxes[i].checked) values.push(checkboxes[i].value);
84
+ }
85
+ if($('related-products-field')){
86
+ $('related-products-field').value = values.join(',');
87
+ }
88
+ }
89
+ //]]>
90
+ </script>
91
+ </div>
92
+ <?php endif ?>
app/design/frontend/default/default/template/extratabs/product/view/attributes.phtml ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-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 design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+
27
+ /**
28
+ * Product additional attributes template
29
+ *
30
+ * @see Mage_Catalog_Block_Product_View_Attributes
31
+ */
32
+ ?>
33
+ <?php
34
+ $_helper = $this->helper('catalog/output');
35
+ $_product = $this->getProduct()
36
+ ?>
37
+ <?php if($_additional = $this->getAdditionalData()): ?>
38
+ <h2><?php echo $this->__('Additional Information') ?></h2>
39
+ <table class="data-table" id="product-attribute-specs-table">
40
+ <col width="25%" />
41
+ <col />
42
+ <tbody>
43
+ <?php foreach ($_additional as $_data): ?>
44
+ <tr>
45
+ <th class="label"><?php echo $this->escapeHtml($this->__($_data['label'])) ?></th>
46
+ <td class="data"><?php echo $_helper->productAttribute($_product, $_data['value'], $_data['code']) ?></td>
47
+ </tr>
48
+ <?php endforeach; ?>
49
+ </tbody>
50
+ </table>
51
+ <script type="text/javascript">decorateTable('product-attribute-specs-table')</script>
52
+ <?php endif;?>
app/design/frontend/default/default/template/extratabs/product/view/attributetab1.phtml ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /* Do not edit or add to this file if you wish to upgrade Magento to newer
3
+ * versions in the future.
4
+ *****************************************************
5
+ * @category Tb
6
+ * @package Tb_Extratabs
7
+ * @copyright Copyright (c) 2014
8
+ * @license http://opensource.org/licenses/OSL-3.0
9
+ */
10
+ ?>
11
+ <?php
12
+ $_product = $this->getProduct();
13
+ $_helper = $this->helper('catalog/output');
14
+ $code = Mage::helper('extratabs')->attributeTab1();
15
+ $code = $code['code'];
16
+ $value = $_product[$code];
17
+
18
+ if($value){ ?>
19
+ <div class="attribute-content"><?php echo $value; ?></div>
20
+ <?php } ?>
app/design/frontend/default/default/template/extratabs/product/view/attributetab2.phtml ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /* Do not edit or add to this file if you wish to upgrade Magento to newer
3
+ * versions in the future.
4
+ *****************************************************
5
+ * @category Tb
6
+ * @package Tb_Extratabs
7
+ * @copyright Copyright (c) 2014
8
+ * @license http://opensource.org/licenses/OSL-3.0
9
+ */
10
+ ?>
11
+ <?php
12
+ $_product = $this->getProduct();
13
+ $_helper = $this->helper('catalog/output');
14
+ $code = Mage::helper('extratabs')->attributeTab2();
15
+ $code = $code['code'];
16
+ $value = $_product[$code];
17
+
18
+ if($value){ ?>
19
+ <div class="attribute-content"><?php echo $value; ?></div>
20
+ <?php } ?>
app/design/frontend/default/default/template/extratabs/product/view/attributetab3.phtml ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /* Do not edit or add to this file if you wish to upgrade Magento to newer
3
+ * versions in the future.
4
+ *****************************************************
5
+ * @category Tb
6
+ * @package Tb_Extratabs
7
+ * @copyright Copyright (c) 2014
8
+ * @license http://opensource.org/licenses/OSL-3.0
9
+ */
10
+ ?>
11
+ <?php
12
+ $_product = $this->getProduct();
13
+ $_helper = $this->helper('catalog/output');
14
+ $code = Mage::helper('extratabs')->attributeTab3();
15
+ $code = $code['code'];
16
+ $value = $_product[$code];
17
+
18
+ if($value){ ?>
19
+ <div class="attribute-content"><?php echo $value; ?></div>
20
+ <?php } ?>
app/design/frontend/default/default/template/extratabs/product/view/description.phtml ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-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 design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+
27
+ /**
28
+ * Product description template
29
+ *
30
+ * @see Mage_Catalog_Block_Product_View_Description
31
+ */
32
+ ?>
33
+ <?php $_description = $this->getProduct()->getDescription(); ?>
34
+ <?php if ($_description): ?>
35
+ <h2><?php echo $this->__('Details') ?></h2>
36
+ <div class="std">
37
+ <?php echo $this->helper('catalog/output')->productAttribute($this->getProduct(), $_description, 'description') ?>
38
+ </div>
39
+ <?php endif; ?>
app/design/frontend/default/default/template/extratabs/product/view/tab_review.phtml ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-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 design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+
28
+ <?php $_items = $this->getReviewsCollection()->getItems();?>
29
+ <?php if (count($_items)):?>
30
+ <div class="collateral-box dedicated-review-box" id="customer-reviews">
31
+
32
+ <?php echo $this->getChildHtml('toolbar') ?>
33
+
34
+ <ol style="margin-top:15px;">
35
+ <?php foreach ($_items as $_review):?>
36
+ <li>
37
+ <strong><?php echo $this->htmlEscape($_review->getTitle()) ?></strong> <?php echo $this->__('Review by %s', $this->htmlEscape($_review->getNickname())) ?>
38
+ <table class="ratings-list" cellspacing="0">
39
+ <tbody>
40
+ <?php foreach ($_review->getRatingVotes() as $_vote): ?>
41
+ <tr>
42
+ <td class="label"><strong><?php echo $_vote->getRatingCode() ?></strong></td>
43
+ <td>
44
+ <div class="rating-box">
45
+ <div class="rating" style="width: <?php echo $_vote->getPercent() ?>%;"></div>
46
+ </div>
47
+ </td>
48
+ </tr>
49
+ <?php endforeach; ?>
50
+ </tbody>
51
+ </table>
52
+ <p><?php echo nl2br($this->htmlEscape($_review->getDetail())) ?> <?php echo $this->__('(Posted on %s)', $this->formatDate($_review->getCreatedAt()), 'long') ?></p>
53
+ </li>
54
+ <?php endforeach; ?>
55
+ </ol>
56
+
57
+ <?php echo $this->getChildHtml('toolbar') ?>
58
+ </div>
59
+ <?php endif;?>
60
+
61
+ <div class="review-forms">
62
+
63
+ <?php echo $this->getLayout()->createBlock('review/form')->setBlockId('product.review.form')->toHtml() ?>
64
+ </div>
app/design/frontend/default/default/template/extratabs/tabs.phtml ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /* Do not edit or add to this file if you wish to upgrade Magento to newer
3
+ * versions in the future.
4
+ *****************************************************
5
+ * @category Tb
6
+ * @package Tb_Extratabs
7
+ * @copyright Copyright (c) 2014
8
+ * @license http://opensource.org/licenses/OSL-3.0
9
+ */
10
+ ?>
11
+ <?php
12
+ //var_dump($this->getTabs());
13
+ $tabsCollection = $this->getTabs();
14
+ ?>
15
+
16
+ <ul class="extra-tabs">
17
+ <?php foreach ($tabsCollection as $_index => $_tab): ?>
18
+ <?php if($this->getChildHtml($_tab['alias'])): ?>
19
+ <li id="extra_tabs_<?php echo $_tab['alias'] ?>" class="<?php echo !$_index?' active first':(($_index==count($tabsCollection)-1)?' last':'')?>"><a href="#"><?php echo $_tab['title']?></a></li>
20
+ <?php endif; ?>
21
+ <?php endforeach; ?>
22
+ </ul>
23
+ <?php foreach ($tabsCollection as $_index => $_tab): ?>
24
+ <?php if($this->getChildHtml($_tab['alias'])): ?>
25
+ <div class="extra-tabs-content" id="extra_tabs_<?php echo $_tab['alias'] ?>_contents"><?php echo $this->getChildHtml($_tab['alias']) ?></div>
26
+ <?php endif; ?>
27
+ <?php endforeach; ?>
28
+ <script type="text/javascript">
29
+ //<![CDATA[
30
+ Varien.Tabs = Class.create();
31
+ Varien.Tabs.prototype = {
32
+ initialize: function(selector) {
33
+ var self=this;
34
+ $$(selector+' a').each(this.initTab.bind(this));
35
+ },
36
+
37
+ initTab: function(el) {
38
+ el.href = 'javascript:void(0)';
39
+ if ($(el.parentNode).hasClassName('active')) {
40
+ this.showContent(el);
41
+ }
42
+ el.observe('click', this.showContent.bind(this, el));
43
+ },
44
+
45
+ showContent: function(a) {
46
+ var li = $(a.parentNode), ul = $(li.parentNode);
47
+ ul.select('li', 'ol').each(function(el){
48
+ var contents = $(el.id+'_contents');
49
+ if (el==li) {
50
+ el.addClassName('active');
51
+ contents.show();
52
+ } else {
53
+ el.removeClassName('active');
54
+ contents.hide();
55
+ }
56
+ });
57
+ }
58
+ }
59
+ new Varien.Tabs('.extra-tabs');
60
+ //]]>
61
+ </script>
62
+
63
+
app/etc/modules/Tb_Extratabs.xml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" ?>
2
+ <config>
3
+ <modules>
4
+ <Tb_Extratabs>
5
+ <active>true</active>
6
+ <codePool>local</codePool>
7
+ </Tb_Extratabs>
8
+ </modules>
9
+ </config>
package.xml ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <package>
3
+ <name>Tb_Extratabs</name>
4
+ <version>0.0.1</version>
5
+ <stability>stable</stability>
6
+ <license uri="http://opensource.org/licenses/osl-3.0.php">OSL</license>
7
+ <channel>community</channel>
8
+ <extends/>
9
+ <summary>Organize product page information, display static blocks data in tabular form with easy to use interface.</summary>
10
+ <description>&lt;h2&gt;OVERVIEW&lt;/h2&gt;&#xD;
11
+ Tb ExtraTabs let you Organize product page information in easy way, display static blocks data and additional data in tabular form controlled by admin interface. You can add Product description, Additional information, Product reviews, Product tags, Related products, Up sell products, Product custom attribute tabs through admin configuration options. Additionally you can also add dynamic tabs based on content of cms blocks or products attributes.&#xD;
12
+ &lt;br /&gt;&#xD;
13
+ &lt;br /&gt;&#xD;
14
+ &lt;h2&gt;Installation / Configuration&lt;/h2&gt;&#xD;
15
+ &lt;br /&gt;&#xD;
16
+ &lt;ul&gt;&#xD;
17
+ &lt;li&gt;Enable &gt;&gt; Enable or disabled ExtraTabs on product view page.&lt;/li&gt;&#xD;
18
+ &lt;li&gt;Add Static blocks &gt;&gt; In order to display static block in tabs save static block with the indentifier &#x201C;extratab_&#x201D; prefix, like extratab_shipping-info. Block title will be use as Tab title.&lt;/li&gt;&#xD;
19
+ &lt;li&gt;Custom Product Attribute Tabs &gt;&gt; Add custom product attributes in tabs by select option from Product Attribute list (Only that attribute will show in this list which has &#x201C;Catalog Input Type for Store Owner&#x201D; as Text Field or Text Area selected). Tab Title &gt;&gt; Enter tab title for this attribute tab.&lt;/li&gt;&#xD;
20
+ &lt;/ul&gt;&#xD;
21
+ </description>
22
+ <notes>Initial release.</notes>
23
+ <authors><author><name>Rehan Mobin</name><user>rehanmobin</user><email>m.rehan.mobin@gmail.com</email></author></authors>
24
+ <date>2014-06-21</date>
25
+ <time>16:59:13</time>
26
+ <contents><target name="magelocal"><dir name="Tb"><dir name="Extratabs"><dir name="Adminhtml"><dir name="Model"><dir name="System"><dir name="Config"><dir name="Source"><file name="Attributes.php" hash="0e6c0ec1c4368c34dcff6a75ac3d53e2"/></dir></dir></dir></dir></dir><dir name="Block"><dir name="Product"><dir name="View"><file name="Tabs.php" hash="ff37a7b5294be7246d94b1de5f74a36a"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="30a8400518166ad565a21f16440e28ac"/></dir><dir name="etc"><file name="adminhtml.xml" hash="b5dfe2be9f82d6712f0099233fc0142f"/><file name="config.xml" hash="cab6ff374a2f9f103a57cb0715d7bced"/><file name="system.xml" hash="911bf4c70a505860a1283bf41ada8ec8"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Tb_Extratabs.xml" hash="970a5ff5d1c9eedddc76b6020f051f7c"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="default"><dir name="default"><dir name="layout"><file name="extratabs.xml" hash="f04cf9fb4a339d229d9048096c8118fa"/></dir><dir name="template"><dir name="extratabs"><dir name="product"><dir name="list"><file name="related.phtml" hash="e74c6aa9621c7babb39db465946b6a5c"/></dir><dir name="view"><file name="attributes.phtml" hash="c184b99a88f08fa50704c399a37fcfbc"/><file name="attributetab1.phtml" hash="b2ce90576d102b8bc14abe52c3761c25"/><file name="attributetab2.phtml" hash="8cd682cb634d3b5c36154bfb77f37f64"/><file name="attributetab3.phtml" hash="16aa322585be656ff2c0cad192b31218"/><file name="description.phtml" hash="4e920e324b0a0d366127a3ad99e2328d"/><file name="tab_review.phtml" hash="4acf578c8f47470dfaaf7624745d54b8"/></dir></dir><file name="tabs.phtml" hash="40698198b13f255dfac4dfdb7b7e250b"/></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="default"><dir name="default"><dir name="css"><file name="extratabs.css" hash="f6995f1892e00fbe3c3f7f21901ebace"/></dir></dir></dir></dir></target></contents>
27
+ <compatible/>
28
+ <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
29
+ </package>
skin/frontend/default/default/css/extratabs.css ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Extra Tabs */
2
+ .extra-tabs {width: 100%; overflow: hidden; margin: 0!important; padding-top: 2px;}
3
+ .extra-tabs li {
4
+ float: left;
5
+ list-style: none;
6
+ border: solid 1px #ddd;
7
+ margin-left: 2px;
8
+ background-color: #eee;
9
+ transition: all 500ms ease;
10
+ -moz-transition: all 500ms ease;
11
+ -webkit-transition: all 500ms ease;
12
+ -o-transition: all 500ms ease;
13
+ }
14
+ .extra-tabs li.first {margin-left: 0;}
15
+ .extra-tabs a {
16
+ display: block;
17
+ padding: .91em 22px;
18
+ font-size: 1em;
19
+ line-height: 1.5em;
20
+ text-transform: uppercase;
21
+ color: #888;
22
+ text-decoration: none;
23
+ position: relative;
24
+ font-weight: bold;
25
+ letter-spacing: -1px;
26
+ }
27
+ .extra-tabs li:hover {background-color: #ddd;}
28
+ .extra-tabs .active {background-color: #fff; border-color: #ddd; border-bottom-color: #fff;}
29
+ .extra-tabs .active a,
30
+ .extra-tabs li:hover a {color: #222;}
31
+ .extra-tabs-content {
32
+ padding: 1.5em;
33
+ border: solid 1px #ddd;
34
+ margin-top: -1px;
35
+ font-size: 1em;
36
+ color: #4c4c4c;
37
+ line-height: 1.5em;
38
+ }
39
+ .extra-tabs-content h2 { display:none; font-size:12px; font-weight:bold; }
40
+ .extra-tabs-content .box-collateral{padding: 0; border: none;}