首页 > 解决方案 > Magento 2:分组产品 - 将 QTY 字段更改为下拉列表

问题描述

我在 Magento CE2.4.2 中创建了一个分组产品。我不想为每个选项设置一个文本输入字段,而是使用下拉菜单。

这是原始的 Magento 代码:

<input type="number"
name="super_group[<?= $block->escapeHtmlAttr($_item->getId()) ?>]"
data-selector="super_group[<?= $block->escapeHtmlAttr($_item->getId()) ?>]"
value="<?= $block->escapeHtmlAttr($_item->getQty() * 1) ?>"
title="<?= $block->escapeHtmlAttr(__('Qty')) ?>"
class="input-text qty"
data-validate="{'validate-grouped-qty':'#super-product-table'}"
data-errors-message-box="#validation-message-box"/>

我已将其更改为:

<select name="super_group[<?= $block->escapeHtmlAttr($_item->getId()) ?>]"
data-selector="super_group[<?= $block->escapeHtmlAttr($_item->getId()) ?>]" 
class="qty-select" id="qty" type="number" 
data-validate="{'validate-grouped-qty':'#super-product-table'}" 
data-errors-message-box="#validation-message-box" />
<option selected value="0">0</option>           
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>

不幸的是,这不起作用。尝试将任何数量的任何选项添加到购物车时,我收到以下错误消息:

Please specify the quantity of product(s).

出于测试原因,我还尝试删除“0”选项,但这并没有改变任何东西。

谁能指出我做错了什么?

谢谢!亚历克斯

标签: phpdropdownmagento2product-quantity

解决方案


好吧,我现在意识到我的错误了。我从 select 元素中删除了 JS 验证部分:

data-validate="{'validate-grouped-qty':'#super-product-table'}" 
data-errors-message-box="#validation-message-box" />

删除它后,它工作正常。所以我将在这个时间点传递内联验证。


推荐阅读