KAbel_BundlePlus - Version 0.2.2

Version Notes

Added support for the admin order creation interface (composite products) to work with the user-defined qty checkbox bundle items.

Download this release

Release Info

Developer Kevin Abel
Extension KAbel_BundlePlus
Version 0.2.2
Comparing to
See all releases


Code changes from version 0.2.1 to 0.2.2

app/code/community/KAbel/BundlePlus/Block/Adminhtml/Catalog/Product/Composite/Fieldset/Options/Type/Checkbox.php ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * KAbel_BundlePlus
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to a BSD 3-Clause License
8
+ * that is bundled with this package in the file LICENSE_BSD_NU.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://www1.unl.edu/wdn/wiki/Software_License
11
+ *
12
+ * @category KAbel
13
+ * @package KAbel_BundlePlus
14
+ * @copyright Copyright (c) 2012 Regents of the University of Nebraska (http://www.nebraska.edu/)
15
+ * @license http://www1.unl.edu/wdn/wiki/Software_License BSD 3-Clause License
16
+ */
17
+
18
+ /**
19
+ * Bundle option checkbox type renderer
20
+ *
21
+ * @category KAbel
22
+ * @package KAbel_BundlePlus
23
+ * @author Kevin Abel <kabel2@unl.edu>
24
+ */
25
+ class KAbel_BundlePlus_Block_Adminhtml_Catalog_Product_Composite_Fieldset_Options_Type_Checkbox
26
+ extends Mage_Bundle_Block_Adminhtml_Catalog_Product_Composite_Fieldset_Options_Type_Checkbox
27
+ {
28
+ protected function _construct()
29
+ {
30
+ $this->setTemplate('kabel/bundleplus/product/composite/fieldset/options/type/checkbox.phtml');
31
+ }
32
+
33
+ protected function _getSelectionQty($selection)
34
+ {
35
+ if ($this->getProduct()->hasPreconfiguredValues()) {
36
+ $selectedQty = $this->getProduct()->getPreconfiguredValues()
37
+ ->getData('bundle_option_qty/' . $this->getOption()->getId());
38
+ if (is_array($selectedQty)) {
39
+ if (isset($selectedQty[$selection->getSelectionId()])) {
40
+ $selectedQty = $selectedQty[$selection->getSelectionId()];
41
+ } else {
42
+ $selectedQty = 0;
43
+ }
44
+ }
45
+
46
+ $selectedQty = (float)$selectedQty;
47
+ if ($selectedQty < 0) {
48
+ $selectedQty = 0;
49
+ }
50
+ } else {
51
+ $selectedQty = 0;
52
+ }
53
+
54
+ return $selectedQty;
55
+ }
56
+ }
app/code/community/KAbel/BundlePlus/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option.php CHANGED
@@ -27,6 +27,7 @@ class KAbel_BundlePlus_Block_Adminhtml_Catalog_Product_Edit_Tab_Bundle_Option
27
  {
28
  public function __construct()
29
  {
 
30
  $this->setTemplate('kabel/bundleplus/product/edit/bundle/option.phtml');
31
  }
32
  }
27
  {
28
  public function __construct()
29
  {
30
+ parent::__construct();
31
  $this->setTemplate('kabel/bundleplus/product/edit/bundle/option.phtml');
32
  }
33
  }
app/code/community/KAbel/BundlePlus/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Selection.php CHANGED
@@ -27,6 +27,7 @@ class KAbel_BundlePlus_Block_Adminhtml_Catalog_Product_Edit_Tab_Bundle_Option_Se
27
  {
28
  public function __construct()
29
  {
 
30
  $this->setTemplate('kabel/bundleplus/product/edit/bundle/option/selection.phtml');
31
  }
32
  }
27
  {
28
  public function __construct()
29
  {
30
+ parent::__construct();
31
  $this->setTemplate('kabel/bundleplus/product/edit/bundle/option/selection.phtml');
32
  }
33
  }
app/code/community/KAbel/BundlePlus/etc/config.xml CHANGED
@@ -19,7 +19,7 @@
19
  <config>
20
  <modules>
21
  <KAbel_BundlePlus>
22
- <version>0.2.1</version>
23
  </KAbel_BundlePlus>
24
  </modules>
25
 
@@ -28,6 +28,7 @@
28
  <bundle>
29
  <rewrite>
30
  <!-- Unobtrusive Templates -->
 
31
  <adminhtml_catalog_product_edit_tab_bundle_option>KAbel_BundlePlus_Block_Adminhtml_Catalog_Product_Edit_Tab_Bundle_Option</adminhtml_catalog_product_edit_tab_bundle_option>
32
  <adminhtml_catalog_product_edit_tab_bundle_option_selection>KAbel_BundlePlus_Block_Adminhtml_Catalog_Product_Edit_Tab_Bundle_Option_Selection</adminhtml_catalog_product_edit_tab_bundle_option_selection>
33
  <catalog_product_view_type_bundle_option_checkbox>KAbel_BundlePlus_Block_Catalog_Product_View_Type_Bundle_Option_Checkbox</catalog_product_view_type_bundle_option_checkbox>
@@ -53,4 +54,14 @@
53
  </updates>
54
  </layout>
55
  </frontend>
 
 
 
 
 
 
 
 
 
 
56
  </config>
19
  <config>
20
  <modules>
21
  <KAbel_BundlePlus>
22
+ <version>0.2.2</version>
23
  </KAbel_BundlePlus>
24
  </modules>
25
 
28
  <bundle>
29
  <rewrite>
30
  <!-- Unobtrusive Templates -->
31
+ <adminhtml_catalog_product_composite_fieldset_options_type_checkbox>KAbel_BundlePlus_Block_Adminhtml_Catalog_Product_Composite_Fieldset_Options_Type_Checkbox</adminhtml_catalog_product_composite_fieldset_options_type_checkbox>
32
  <adminhtml_catalog_product_edit_tab_bundle_option>KAbel_BundlePlus_Block_Adminhtml_Catalog_Product_Edit_Tab_Bundle_Option</adminhtml_catalog_product_edit_tab_bundle_option>
33
  <adminhtml_catalog_product_edit_tab_bundle_option_selection>KAbel_BundlePlus_Block_Adminhtml_Catalog_Product_Edit_Tab_Bundle_Option_Selection</adminhtml_catalog_product_edit_tab_bundle_option_selection>
34
  <catalog_product_view_type_bundle_option_checkbox>KAbel_BundlePlus_Block_Catalog_Product_View_Type_Bundle_Option_Checkbox</catalog_product_view_type_bundle_option_checkbox>
54
  </updates>
55
  </layout>
56
  </frontend>
57
+
58
+ <adminhtml>
59
+ <layout>
60
+ <updates>
61
+ <kabel_bundleplus>
62
+ <file>kabel_bundleplus.xml</file>
63
+ </kabel_bundleplus>
64
+ </updates>
65
+ </layout>
66
+ </adminhtml>
67
  </config>
app/design/adminhtml/default/default/layout/kabel_bundleplus.xml ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * KAbel_BundlePlus
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to a BSD 3-Clause License
9
+ * that is bundled with this package in the file LICENSE_BSD_NU.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://www1.unl.edu/wdn/wiki/Software_License
12
+ *
13
+ * @category design
14
+ * @package default_default
15
+ * @copyright Copyright (c) 2012 Regents of the University of Nebraska (http://www.nebraska.edu/)
16
+ * @license http://www1.unl.edu/wdn/wiki/Software_License BSD 3-Clause License
17
+ */
18
+
19
+ -->
20
+ <layout version="0.1.0">
21
+
22
+ <PRODUCT_TYPE_bundle>
23
+ <!-- change composite bundle template to localized template -->
24
+ <reference name="product.composite.fieldset.bundle">
25
+ <action method="setTemplate"><template>kabel/bundleplus/product/composite/fieldset/options/bundle.phtml</template></action>
26
+ </reference>
27
+ </PRODUCT_TYPE_bundle>
28
+
29
+ <!-- to add an extra css file to every page -->
30
+ <default>
31
+ <reference name="head">
32
+ <action method="addItem"><type>skin_css</type><file>css/kabel/bundleplus/styles.css</file></action>
33
+ </reference>
34
+ </default>
35
+
36
+ </layout>
app/design/adminhtml/default/default/template/kabel/bundleplus/product/composite/fieldset/options/bundle.phtml ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * KAbel_BundlePlus
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to a BSD 3-Clause License
8
+ * that is bundled with this package in the file LICENSE_BSD_NU.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://www1.unl.edu/wdn/wiki/Software_License
11
+ *
12
+ * @category design
13
+ * @package default_default
14
+ * @copyright Copyright (c) 2012 Regents of the University of Nebraska (http://www.nebraska.edu/)
15
+ * @license http://www1.unl.edu/wdn/wiki/Software_License BSD 3-Clause License
16
+ */
17
+ ?>
18
+ <?php /* @var $this Mage_Bundle_Block_Adminhtml_Catalog_Product_Composite_Fieldset_Bundle */ ?>
19
+ <?php $options = Mage::helper('core')->decorateArray($this->getOptions()); ?>
20
+ <?php if (count($options)): ?>
21
+ <div id="catalog_product_composite_configure_fields_bundle" class="<?php echo $this->getIsLastFieldset() ? 'last-fieldset' : '' ?>">
22
+ <h4><?php echo Mage::helper('catalog')->__('Bundle Items') ?></h4>
23
+ <div class="product-options">
24
+ <dl>
25
+ <?php foreach ($options as $option) : ?>
26
+ <?php if ($option->getSelections()) : ?>
27
+ <?php echo $this->getOptionHtml($option); ?>
28
+ <?php endif; ?>
29
+ <?php endforeach; ?>
30
+ </dl>
31
+ </div>
32
+ </div>
33
+
34
+ <script>
35
+ var BundleControl = Class.create();
36
+ BundleControl.prototype = {
37
+ initialize: function (config) {
38
+ this.config = config;
39
+ },
40
+
41
+ changeSelection: function (selection) {
42
+ if (selection.multiple) {
43
+ return;
44
+ }
45
+ var parts = selection.id.split('-'), optionId = parts[2],
46
+ showQtyInput, qtyId = optionId,
47
+ options = this.config.options[optionId],
48
+ selectionOptions = options && options.selections && options.selections[selection.value] || {};
49
+
50
+ if (selection.tagName == 'INPUT') {
51
+ showQtyInput = selection.value && selection.checked;
52
+ qtyId += '-' + selection.value;
53
+ } else {
54
+ showQtyInput = selection.value && selection.value != 'none';
55
+ }
56
+
57
+ this.updateQtyInput(qtyId, selectionOptions.default_qty, Number(selectionOptions.can_change_qty) && showQtyInput);
58
+ },
59
+
60
+ updateQtyInput: function(optionId, value, canEdit) {
61
+ var elem = $('bundle-option-' + optionId + '-qty-input'),
62
+ default_qty = Number(value);
63
+ if (!elem) {
64
+ return;
65
+ }
66
+ if (canEdit) {
67
+ elem.removeClassName('qty-disabled');
68
+ elem.disabled = false;
69
+ if (elem.value == '0') {
70
+ elem.value = default_qty || 1;
71
+ }
72
+ } else {
73
+ elem.addClassName('qty-disabled');
74
+ elem.disabled = true;
75
+ elem.value = 0;
76
+ }
77
+ },
78
+
79
+ updateForDefaults: function () {
80
+ for (var optionId in this.config.options) {
81
+ var selection = $('bundle-option-' + optionId);
82
+ if (selection) {
83
+ this.changeSelection(selection);
84
+ }
85
+ }
86
+ }
87
+ }
88
+ ProductConfigure.bundleControl = new BundleControl(<?php echo $this->getJsonConfig() ?>);
89
+ </script>
90
+
91
+ <?php endif; ?>
app/design/adminhtml/default/default/template/kabel/bundleplus/product/composite/fieldset/options/type/checkbox.phtml ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * KAbel_BundlePlus
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to a BSD 3-Clause License
8
+ * that is bundled with this package in the file LICENSE_BSD_NU.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://www1.unl.edu/wdn/wiki/Software_License
11
+ *
12
+ * @category design
13
+ * @package default_default
14
+ * @copyright Copyright (c) 2012 Regents of the University of Nebraska (http://www.nebraska.edu/)
15
+ * @license http://www1.unl.edu/wdn/wiki/Software_License BSD 3-Clause License
16
+ */
17
+ ?>
18
+ <?php /* @var $this KAbel_BundlePlus_Block_Adminhtml_Catalog_Product_Composite_Fieldset_Options_Type_Checkbox */ ?>
19
+ <?php $_option = $this->getOption(); ?>
20
+ <?php $_selections = $_option->getSelections(); ?>
21
+ <?php $_skipSaleableCheck = Mage::helper('catalog/product')->getSkipSaleableCheck(); ?>
22
+ <dt><label<?php if ($_option->getRequired()) echo ' class="required"' ?>><?php if ($_option->getRequired()) echo '<em>*</em>' ?><?php echo $this->escapeHtml($_option->getTitle()) ?></label></dt>
23
+ <dd<?php if ($_option->decoratedIsLast){?> class="last"<?php }?>>
24
+ <div class="input-box">
25
+ <?php if (count($_selections) == 1 && $_option->getRequired()): ?>
26
+ <?php echo $this->getSelectionQtyTitlePrice($_selections[0]) ?>
27
+ <input type="hidden" name="bundle_option[<?php echo $_option->getId() ?>]" value="<?php echo $_selections[0]->getSelectionId() ?>" price="<?php echo $this->getSelectionPrice($_selections[0]) ?>"'/>
28
+ <?php else:?>
29
+ <ul class="options-list">
30
+ <?php foreach($_selections as $_selection): ?>
31
+ <?php $_isSelected = $this->_isSelected($_selection); ?>
32
+ <li><input class="change-container-classname checkbox bundle-option-<?php echo $_option->getId() ?> <?php if ($_option->getRequired()) echo 'validate-one-required-by-name' ?>" id="bundle-option-<?php echo $_option->getId() ?>-<?php echo $_selection->getSelectionId() ?>" type="checkbox" name="bundle_option[<?php echo $_option->getId() ?>][]"<?php if ($_isSelected) echo ' checked="checked"' ?><?php if (!$_selection->isSaleable() && !$_skipSaleableCheck) echo ' disabled="disabled"' ?> value="<?php echo $_selection->getSelectionId() ?>" onclick="ProductConfigure.bundleControl.changeSelection(this)" price="<?php echo $this->getSelectionPrice($_selection) ?>"/>
33
+ <span class="label">
34
+ <?php if ($_selection->getSelectionCanChangeQty()): ?>
35
+ <span class="qty-holder"><label for="bundle-option-<?php echo $_option->getId() ?>-<?php echo $_selection->getSelectionId() ?>-qty-input"><?php echo $this->__('Qty:') ?>&nbsp;</label>
36
+ <input class="input-text qty<?php if (!$_isSelected) echo ' qty-disabled' ?>" id="bundle-option-<?php echo $_option->getId() ?>-<?php echo $_selection->getSelectionId() ?>-qty-input" type="text" name="bundle_option_qty[<?php echo $_option->getId() ?>][<?php echo $_selection->getSelectionId() ?>]"<?php if (!$_isSelected) echo ' disabled="disabled"' ?> value="<?php echo $this->_getSelectionQty($_selection)*1 ?>" /></span>
37
+ <?php else: ?>
38
+ <span class="qty-holder"><label><?php echo $this->__('Qty:') ?>&nbsp;</label><?php echo $_selection->getSelectionQty()*1 ?></span>
39
+ <?php endif; ?>
40
+ <label for="bundle-option-<?php echo $_option->getId() ?>-<?php echo $_selection->getSelectionId() ?>"><?php echo $this->getSelectionTitlePrice($_selection) ?></label>
41
+ </span>
42
+ <?php if($_option->getRequired()): ?>
43
+ <?php echo $this->setValidationContainer('bundle-option-'.$_option->getId().'-'.$_selection->getSelectionId(), 'bundle-option-'.$_option->getId().'-container') ?>
44
+ <?php endif; ?>
45
+ </li>
46
+ <?php endforeach; ?>
47
+ </ul>
48
+ <div id="bundle-option-<?php echo $_option->getId() ?>-container"></div>
49
+ <?php endif; ?>
50
+ </div>
51
+ </dd>
app/design/adminhtml/default/default/template/kabel/bundleplus/product/edit/bundle/option.phtml CHANGED
@@ -10,7 +10,7 @@
10
  * http://www1.unl.edu/wdn/wiki/Software_License
11
  *
12
  * @category design
13
- * @package base_default
14
  * @copyright Copyright (c) 2012 Regents of the University of Nebraska (http://www.nebraska.edu/)
15
  * @license http://www1.unl.edu/wdn/wiki/Software_License BSD 3-Clause License
16
  */
10
  * http://www1.unl.edu/wdn/wiki/Software_License
11
  *
12
  * @category design
13
+ * @package default_default
14
  * @copyright Copyright (c) 2012 Regents of the University of Nebraska (http://www.nebraska.edu/)
15
  * @license http://www1.unl.edu/wdn/wiki/Software_License BSD 3-Clause License
16
  */
app/design/adminhtml/default/default/template/kabel/bundleplus/product/edit/bundle/option/selection.phtml CHANGED
@@ -10,7 +10,7 @@
10
  * http://www1.unl.edu/wdn/wiki/Software_License
11
  *
12
  * @category design
13
- * @package base_default
14
  * @copyright Copyright (c) 2012 Regents of the University of Nebraska (http://www.nebraska.edu/)
15
  * @license http://www1.unl.edu/wdn/wiki/Software_License BSD 3-Clause License
16
  */
10
  * http://www1.unl.edu/wdn/wiki/Software_License
11
  *
12
  * @category design
13
+ * @package default_default
14
  * @copyright Copyright (c) 2012 Regents of the University of Nebraska (http://www.nebraska.edu/)
15
  * @license http://www1.unl.edu/wdn/wiki/Software_License BSD 3-Clause License
16
  */
package.xml CHANGED
@@ -1,22 +1,20 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>KAbel_BundlePlus</name>
4
- <version>0.2.1</version>
5
  <stability>stable</stability>
6
  <license uri="http://www1.unl.edu/wdn/wiki/Software_License">BSD-3-Clause</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Extends the Bundle interfaces for checkbox selections to allow each selection to have a user-defined qty.</summary>
10
- <description>This is the first release to the Magento Connect community.&#xD;
11
  &#xD;
12
- This extension was born from a discussion started at http://www.magentocommerce.com/boards/viewthread/33997/&#xD;
13
- &#xD;
14
- The base Magento version that is supported is 1.7.</description>
15
- <notes>Stability release for the Magento CE 1.7 branch.</notes>
16
  <authors><author><name>Kevin Abel</name><user>kabel</user><email>kabel2@unl.edu</email></author></authors>
17
- <date>2012-08-01</date>
18
- <time>22:38:11</time>
19
- <contents><target name="magecommunity"><dir name="KAbel"><dir name="BundlePlus"><dir name="Block"><dir name="Adminhtml"><dir name="Catalog"><dir name="Product"><dir name="Edit"><dir name="Tab"><dir name="Bundle"><dir name="Option"><file name="Selection.php" hash="fcab2a621c82cd753f8ae6016ce8288b"/></dir><file name="Option.php" hash="8fff7c3e9f1bab22afb90a40789d87f8"/></dir></dir></dir></dir></dir></dir><dir name="Catalog"><dir name="Product"><dir name="View"><dir name="Type"><dir name="Bundle"><dir name="Option"><file name="Checkbox.php" hash="6ef19ad96ba19ca4e14327bc3f92f3ad"/></dir></dir></dir></dir></dir></dir></dir><dir name="Model"><dir name="Product"><file name="Type.php" hash="87307e188e8681c248558d1063870e5d"/></dir></dir><dir name="etc"><file name="config.xml" hash="81e263cc37f5f9c8e095f742a1e0600a"/></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="kabel"><dir name="bundleplus"><dir name="product"><dir name="edit"><dir name="bundle"><dir name="option"><file name="selection.phtml" hash="dae1c30d37a55c69b2f7c6115888aba4"/></dir><file name="option.phtml" hash="fb061926db275a32264317f93c3fd9c2"/></dir></dir></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="kabel_bundleplus.xml" hash="eb12c302b7f8beb35803de9747bdf432"/></dir><dir name="template"><dir name="kabel"><dir name="bundleplus"><dir name="catalog"><dir name="product"><dir name="view"><dir name="type"><dir name="bundle"><dir name="option"><file name="checkbox.phtml" hash="a81dba081733e27124b4cf03baae04ad"/></dir></dir></dir></dir></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="KAbel_BundlePlus.xml" hash="79958a8fedb36c001fed6a7885046de5"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="kabel"><dir name="bundleplus"><file name="extra.css" hash="50d18ae01bf8157fa49a5b1144a98c67"/></dir></dir></dir><dir name="js"><dir name="kabel"><dir name="bundleplus"><file name="bundle.js" hash="3dc9c6ea1d9287c5592beddd0b031115"/></dir></dir></dir></dir></dir></dir></target><target name="mage"><dir name="."><file name="LICENSE_BSD_NU.txt" hash="1a1f681da978387de9a48b0604321909"/></dir></target></contents>
20
  <compatible/>
21
  <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php><package><name>Mage_Core_Modules</name><channel>community</channel><min>1.7</min><max></max></package></required></dependencies>
22
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>KAbel_BundlePlus</name>
4
+ <version>0.2.2</version>
5
  <stability>stable</stability>
6
  <license uri="http://www1.unl.edu/wdn/wiki/Software_License">BSD-3-Clause</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Extends the Bundle interfaces for checkbox selections to allow each selection to have a user-defined qty.</summary>
10
+ <description>Allows for checkbox bundle item selections to each have their own user-defined quantity.&#xD;
11
  &#xD;
12
+ This extension was born from a discussion started at http://www.magentocommerce.com/boards/viewthread/33997/</description>
13
+ <notes>Added support for the admin order creation interface (composite products) to work with the user-defined qty checkbox bundle items.</notes>
 
 
14
  <authors><author><name>Kevin Abel</name><user>kabel</user><email>kabel2@unl.edu</email></author></authors>
15
+ <date>2012-08-09</date>
16
+ <time>16:02:15</time>
17
+ <contents><target name="magecommunity"><dir name="KAbel"><dir name="BundlePlus"><dir name="Block"><dir name="Adminhtml"><dir name="Catalog"><dir name="Product"><dir name="Composite"><dir name="Fieldset"><dir name="Options"><dir name="Type"><file name="Checkbox.php" hash="273f0c38e1cba774ac0af7f2e819f38f"/></dir></dir></dir></dir><dir name="Edit"><dir name="Tab"><dir name="Bundle"><dir name="Option"><file name="Selection.php" hash="585cf70f7b9f274e22fb832bfa76cad0"/></dir><file name="Option.php" hash="b1823d16419c5f79a19c5b2ebcd29804"/></dir></dir></dir></dir></dir></dir><dir name="Catalog"><dir name="Product"><dir name="View"><dir name="Type"><dir name="Bundle"><dir name="Option"><file name="Checkbox.php" hash="6ef19ad96ba19ca4e14327bc3f92f3ad"/></dir></dir></dir></dir></dir></dir></dir><dir name="Model"><dir name="Product"><file name="Type.php" hash="87307e188e8681c248558d1063870e5d"/></dir></dir><dir name="etc"><file name="config.xml" hash="8151ca44984c390edaa4e34e2e56ae01"/></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="kabel"><dir name="bundleplus"><dir name="product"><dir name="composite"><dir name="fieldset"><dir name="options"><file name="bundle.phtml" hash="e5a0cd3971c9b35eb78173cc68072c14"/><dir name="type"><file name="checkbox.phtml" hash="e561787e00b76f42b54f5cfc86f3f987"/></dir></dir></dir></dir><dir name="edit"><dir name="bundle"><dir name="option"><file name="selection.phtml" hash="52681a34b9e31d56072a80a731a75e9f"/></dir><file name="option.phtml" hash="83ed8d2e84f4aa2e4bba4fae17449be6"/></dir></dir></dir></dir></dir></dir><dir name="layout"><file name="kabel_bundleplus.xml" hash="674ae30320d1ce264db33d0cd5d9a8f7"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="kabel_bundleplus.xml" hash="eb12c302b7f8beb35803de9747bdf432"/></dir><dir name="template"><dir name="kabel"><dir name="bundleplus"><dir name="catalog"><dir name="product"><dir name="view"><dir name="type"><dir name="bundle"><dir name="option"><file name="checkbox.phtml" hash="a81dba081733e27124b4cf03baae04ad"/></dir></dir></dir></dir></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="KAbel_BundlePlus.xml" hash="79958a8fedb36c001fed6a7885046de5"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="kabel"><dir name="bundleplus"><file name="extra.css" hash="50d18ae01bf8157fa49a5b1144a98c67"/></dir></dir></dir><dir name="js"><dir name="kabel"><dir name="bundleplus"><file name="bundle.js" hash="3dc9c6ea1d9287c5592beddd0b031115"/></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="css"><dir name="kabel"><dir name="bundleplus"><file name="styles.css" hash="5d0f90be667c295d9320ab8a82385c25"/></dir></dir></dir></dir></dir></dir></target><target name="mage"><dir name="."><file name="LICENSE_BSD_NU.txt" hash="1a1f681da978387de9a48b0604321909"/></dir></target></contents>
18
  <compatible/>
19
  <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php><package><name>Mage_Core_Modules</name><channel>community</channel><min>1.7</min><max></max></package></required></dependencies>
20
  </package>
skin/adminhtml/default/default/css/kabel/bundleplus/styles.css ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * KAbel_BundlePlus
3
+ *
4
+ * NOTICE OF LICENSE
5
+ *
6
+ * This source file is subject to a BSD 3-Clause License
7
+ * that is bundled with this package in the file LICENSE_BSD_NU.txt.
8
+ * It is also available through the world-wide-web at this URL:
9
+ * http://www1.unl.edu/wdn/wiki/Software_License
10
+ *
11
+ * @copyright Copyright (c) 2012 Regents of the University of Nebraska (http://www.nebraska.edu/)
12
+ * @license http://www1.unl.edu/wdn/wiki/Software_License BSD 3-Clause License
13
+ */
14
+
15
+ .product-options dd .qty-disabled {
16
+ background: none;
17
+ border: 0;
18
+ color: #000;
19
+ padding: 3px;
20
+ }