预期的功能是用户输入数量的组件,然后将其添加到购物车 .
这里的问题是,通过Magento Bundles,需要一个复选框来输入不同数量的多个选项 . 下面的代码启用所有复选框,这些复选框启用qty输入字段,然后隐藏复选框 .
当启用复选框时,即使显示的数量为0(在$ i = 0操作的选择选项中生成),qty输入值也默认为1 .
因此,即使您选择了一个组件中的2个,也会将每个其他组件中的一个添加到购物车中 . 在提交表单时,从输入下拉列表中选择0不会返回该值 .
我无法弄清楚如何将检查的默认值设置为0而不是1.我唯一能想到的是收集当前用户输入但是当我尝试通过$ _POST []将输入存储为变量时没有回报 .
任何人都有任何其他想法或者可能知道如何将默认选中的值从1更改为0?
<input onclick="bundle.changeSelection(this)"
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() ?>][]"
checked="checked"
defaultValue="0"
style="display:none"
<?php if (!$_selection->isSaleable()) echo ' disabled="disabled"' ?>
value="<?php echo $_selection->getSelectionId() ?>
"/>
<?php if ($_canChangeQty) : ?>
<span class="qty-opt">
<select style="width:50px;"
id="bundle-option-<?php echo $_option->getId() ?>-<?php echo $_selection->getSelectionId() ?>-qty-input"
onchange="bundle.changeOptionQty(this, event)"
<?php if ($memory_type) : ?> data-memory-type="<?php echo $memory_type; ?>"<?php endif; ?>
name="bundle_option_qty[<?php echo $_option->getId() ?>][<?php echo $_selection->getSelectionId() ?>]"
class="qty">
<?php for ($i = 0; $i <= $maxQty; $i++) : ?>
<?php if ($i <= $stockOnHand) : ?> <option value="<?php echo $i; ?>"><?php echo $i; ?></option> <?php endif; ?>
<?php endfor; ?>
</select>
</span>
<?php else: ?>
<span class="qty-opt">
<label><?php echo $this->__('Qty:') ?> </label>
<?php echo $_defaultQty ?>
</span>
<?php endif; ?>