Skip to content

Commit 9bc1996

Browse files
committed
Merge pull request #286 from magento-south/MAGETWO-45429-mb
[SOUTH] MAGETWO-45429
2 parents 880ad3a + 94783f9 commit 9bc1996

File tree

10 files changed

+33
-4
lines changed

10 files changed

+33
-4
lines changed

app/code/Magento/Bundle/view/frontend/templates/catalog/product/view/type/bundle/option/checkbox.phtml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
type="checkbox"
3232
<?php if ($_option->getRequired()) echo 'data-validate="{\'validate-one-required-by-name\':\'input[name^=&quot;bundle_option[' . $_option->getId() . ']&quot;]:checked\'}"'?>
3333
name="bundle_option[<?php echo $_option->getId() ?>][<?php echo $_selection->getId() ?>]"
34+
data-selector="bundle_option[<?php echo $_option->getId() ?>][<?php echo $_selection->getId() ?>]"
3435
<?php if ($block->isSelected($_selection)) echo ' checked="checked"' ?>
3536
<?php if (!$_selection->isSaleable()) echo ' disabled="disabled"' ?>
3637
value="<?php echo $_selection->getSelectionId() ?>"/>

app/code/Magento/Bundle/view/frontend/templates/catalog/product/view/type/bundle/option/multi.phtml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
size="5"
2626
id="bundle-option-<?php echo $_option->getId() ?>"
2727
name="bundle_option[<?php echo $_option->getId() ?>][]"
28+
data-selector="bundle_option[<?php echo $_option->getId() ?>][]"
2829
class="bundle-option-<?php echo $_option->getId() ?> multiselect product bundle option change-container-classname"
2930
<?php if ($_option->getRequired()) echo 'data-validate={required:true}' ?>>
3031
<?php if(!$_option->getRequired()): ?>

app/code/Magento/Bundle/view/frontend/templates/catalog/product/view/type/bundle/option/radio.phtml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
class="radio product bundle option"
3333
id="bundle-option-<?php echo $_option->getId() ?>"
3434
name="bundle_option[<?php echo $_option->getId() ?>]"
35+
data-selector="bundle_option[<?php echo $_option->getId() ?>]"
3536
<?php echo ($_default && $_default->isSalable())?'':' checked="checked" ' ?>
3637
value=""/>
3738
<label class="label" for="bundle-option-<?php echo $_option->getId() ?>">
@@ -46,6 +47,7 @@
4647
id="bundle-option-<?php echo $_option->getId() ?>-<?php echo $_selection->getSelectionId() ?>"
4748
<?php if ($_option->getRequired()) echo 'data-validate="{\'validate-one-required-by-name\':true}"'?>
4849
name="bundle_option[<?php echo $_option->getId() ?>]"
50+
data-selector="bundle_option[<?php echo $_option->getId() ?>]"
4951
<?php if ($block->isSelected($_selection)) echo ' checked="checked"' ?>
5052
<?php if (!$_selection->isSaleable()) echo ' disabled="disabled"' ?>
5153
value="<?php echo $_selection->getSelectionId() ?>"/>
@@ -67,6 +69,7 @@
6769
class="input-text qty<?php if (!$_canChangeQty) echo ' qty-disabled' ?>"
6870
type="number"
6971
name="bundle_option_qty[<?php echo $_option->getId() ?>]"
72+
data-selector="bundle_option_qty[<?php echo $_option->getId() ?>]"
7073
value="<?php echo $_defaultQty ?>"/>
7174
</div>
7275
</div>

app/code/Magento/Bundle/view/frontend/templates/catalog/product/view/type/bundle/option/select.phtml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
<?php else:?>
2828
<select id="bundle-option-<?php echo $_option->getId() ?>"
2929
name="bundle_option[<?php echo $_option->getId() ?>]"
30+
data-selector="bundle_option[<?php echo $_option->getId() ?>]"
3031
class="bundle-option-<?php echo $_option->getId() ?> product bundle option bundle-option-select change-container-classname"
3132
<?php if ($_option->getRequired()) echo 'data-validate = {required:true}' ?>>
3233
<option value=""><?php echo __('Choose a selection...') ?></option>
@@ -50,6 +51,7 @@
5051
class="input-text qty<?php if (!$_canChangeQty) echo ' qty-disabled' ?>"
5152
type="number"
5253
name="bundle_option_qty[<?php echo $_option->getId() ?>]"
54+
data-selector="bundle_option_qty[<?php echo $_option->getId() ?>]"
5355
value="<?php echo $_defaultQty ?>"/>
5456
</div>
5557
</div>

app/code/Magento/Catalog/Block/Product/View/Options/Type/Date.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,7 @@ protected function _getHtmlSelect($name, $value = null)
199199
$extraParams .= ' onchange="opConfig.reloadPrice()"';
200200
}
201201
$extraParams .= ' data-role="calendar-dropdown" data-calendar-role="' . $name . '"';
202+
$extraParams .= ' data-selector="' . $select->getName() . '"';
202203
$select->setExtraParams($extraParams);
203204

204205
if ($value === null) {

app/code/Magento/Catalog/Block/Product/View/Options/Type/Select.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ public function getValuesHtml()
6969
if (!$this->getSkipJsReloadPrice()) {
7070
$extraParams .= ' onchange="opConfig.reloadPrice()"';
7171
}
72+
$extraParams .= ' data-selector="' . $select->getName() . '"';
7273
$select->setExtraParams($extraParams);
7374

7475
if ($configValue) {
@@ -97,6 +98,7 @@ public function getValuesHtml()
9798
' product-custom-option" name="options[' .
9899
$_option->getId() .
99100
']"' .
101+
' data-selector="options[' . $_option->getId() . ']"' .
100102
($this->getSkipJsReloadPrice() ? '' : ' onclick="opConfig.reloadPrice()"') .
101103
' value="" checked="checked" /><label class="label admin__field-label" for="options_' .
102104
$_option->getId() .
@@ -128,6 +130,11 @@ public function getValuesHtml()
128130
$checked = $configValue == $htmlValue ? 'checked' : '';
129131
}
130132

133+
$dataSelector = 'options[' . $_option->getId() . ']';
134+
if ($arraySign) {
135+
$dataSelector .= '[' . $htmlValue . ']';
136+
}
137+
131138
$selectHtml .= '<div class="field choice admin__field admin__field-option' .
132139
$require .
133140
'">' .
@@ -151,6 +158,7 @@ public function getValuesHtml()
151158
$htmlValue .
152159
'" ' .
153160
$checked .
161+
' data-selector="' . $dataSelector . '"' .
154162
' price="' .
155163
$this->pricingHelper->currencyByStore($_value->getPrice(true), $store, false) .
156164
'" />' .

app/code/Magento/Catalog/view/frontend/templates/product/view/options/type/text.phtml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ $class = ($_option->getIsRequire()) ? ' required' : '';
3737
data-validate="<?php echo $block->escapeHtml(json_encode($_textValidate));?>"
3838
<?php } ?>
3939
name="options[<?php echo $_option->getId() ?>]"
40+
data-selector="options[<?php echo $_option->getId() ?>]"
4041
value="<?php echo $block->escapeHtml($block->getDefaultValue()) ?>"/>
4142
<?php elseif ($_option->getType() == \Magento\Catalog\Model\Product\Option::OPTION_TYPE_AREA): ?>
4243
<?php $_textAreaValidate = null;
@@ -53,6 +54,7 @@ $class = ($_option->getIsRequire()) ? ' required' : '';
5354
data-validate="<?php echo $block->escapeHtml(json_encode($_textAreaValidate));?>"
5455
<?php } ?>
5556
name="options[<?php echo $_option->getId() ?>]"
57+
data-selector="options[<?php echo $_option->getId() ?>]"
5658
rows="5"
5759
cols="25"><?php echo $block->escapeHtml($block->getDefaultValue()) ?></textarea>
5860
<?php endif; ?>

app/code/Magento/ConfigurableProduct/view/frontend/templates/product/view/type/options/configurable.phtml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ $_attributes = $block->decorateArray($block->getAllowAttributes());
2121
</label>
2222
<div class="control">
2323
<select name="super_attribute[<?php echo $_attribute->getAttributeId() ?>]"
24+
data-selector="super_attribute[<?php echo $_attribute->getAttributeId() ?>]"
2425
data-validate="{required:true}"
2526
id="attribute<?php echo $_attribute->getAttributeId() ?>"
2627
class="super-attribute-select">

app/code/Magento/GroupedProduct/view/frontend/templates/product/view/type/grouped.phtml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
<?php if ($_item->isSaleable()) : ?>
4848
<div class="control qty">
4949
<input type="number" name="super_group[<?php echo $_item->getId() ?>]"
50+
data-selector="super_group[<?php echo $_item->getId() ?>]"
5051
maxlength="12"
5152
value="<?php echo $_item->getQty() * 1 ?>"
5253
title="<?php echo __('Qty') ?>"

app/code/Magento/Wishlist/view/frontend/web/js/add-to-wishlist.js

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ define([
1111

1212
$.widget('mage.addToWishlist', {
1313
options: {
14-
bundleInfo: 'div.control [name^=bundle_option]:not([name*=qty])',
14+
bundleInfo: 'div.control [name^=bundle_option]',
1515
configurableInfo: '.super-attribute-select',
1616
groupedInfo: '#super-product-table input',
1717
downloadableInfo: '#downloadable-links-list input',
@@ -43,10 +43,12 @@ define([
4343
$(event.handleObj.selector).each(function(index, element){
4444
if ($(element).is('input[type=text]')
4545
|| $(element).is('input[type=email]')
46+
|| $(element).is('input[type=number]')
47+
|| $(element).is('input[type=hidden]')
4648
|| $(element).is('input[type=checkbox]:checked')
4749
|| $(element).is('input[type=radio]:checked')
48-
|| $('#' + element.id + ' option:selected').length
4950
|| $(element).is('textarea')
51+
|| $('#' + element.id + ' option:selected').length
5052
) {
5153
dataToAdd = $.extend({}, dataToAdd, self._getElementData(element));
5254
return;
@@ -66,7 +68,7 @@ define([
6668
$('[data-action="add-to-wishlist"]').each(function(index, element) {
6769
var params = $(element).data('post');
6870
if (!params)
69-
params = {};
71+
params = {'data': {}};
7072

7173
if (!$.isEmptyObject(dataToAdd)) {
7274
self._removeExcessiveData(params, dataToAdd);
@@ -89,7 +91,7 @@ define([
8991
},
9092
_getElementData: function(element) {
9193
var data = {},
92-
elementName = $(element).attr('name'),
94+
elementName = $(element).data('selector'),
9395
elementValue = $(element).val();
9496
if ($(element).is('select[multiple]') && elementValue !== null) {
9597
if (elementName.substr(elementName.length - 2) == '[]') {
@@ -121,6 +123,13 @@ define([
121123
params = $(event.currentTarget).data('post'),
122124
form = $(element).closest('form'),
123125
action = params.action;
126+
if (params.data.id) {
127+
$('<input>', {
128+
type: 'hidden',
129+
name: 'id',
130+
value: params.data.id
131+
}).appendTo(form);
132+
}
124133
if (params.data.uenc) {
125134
action += 'uenc/' + params.data.uenc;
126135
}

0 commit comments

Comments
 (0)