提前感谢您花时间阅读本文。
我目前正在通过我的合作伙伴帐户开发“测试店”。商店中的一切都按预期工作,接受我的 product.liquid 文件。产品的所有变体 ID 都输出为文字字符串,而不是数字。我正在使用带有 jQuery 解决方案的 option_selection.js 文件来为产品构建多个下拉菜单。
当然,由于没有将 ID 传递给购物车操作,我得到“我们无法将此商品添加到您的购物车,因为没有将变体 ID 传递给我们。” 因此,对解决方案的任何想法或导致此问题的原因将不胜感激。
下面是一个变体循环的示例:
<form id="add-to-cart" action="/cart/add" method="post" >
<select id="variant-select">
<option>Product Options</option>
{% for variant in product.variants %}
<option value="{{ variant.id }}">{{variant.title }} for {{ variant.price | money}}</option>
{% endfor %}
</select>
<input type="image" name="add" value="Purchase" id="purchase" src="{{ 'purchase.png' | asset_url}}" />
<span id="product-price">{{ product.price | money }}</span>
</form>
这是 XHTML 输出。注意:这只是其中一个下拉列表的结果,还有两个具有相似输出。
<div class="selector-wrapper">
<label for="variant-select-option-0">Size</label>
<select class="single-option-selector" id="variant-select-option-0">
<option value="Small">Small</option>
<option value="Medium">Medium</option>
<option value="Large">Large</option>
<option value="X-Large">X-Large</option>
</select>
</div>
为了给问题添加更多上下文,下面是使用 jQuery 解决方案创建多个下拉列表之前的下拉输出示例。这仍然使用上面的相同变体循环并且仍然产生相同的错误。变体 id 似乎比正常的要长...
<select id="variant-select">
<option>Product Options</option>
<option value="105062422">Small / Black / Men's for $19.00</option>
<option value="105062492">Medium / Black / Men's for $19.00</option>
<option value="105062522">Large / Black / Men's for $19.00</option>
<option value="105062552">X-Large / Black / Men's for $19.00</option>
<option value="105062602">Small / Blue / Men's for $19.00</option>
<option value="105062632">Medium / Blue / Men's for $19.00</option>
<option value="105062702">Large / Blue / Men's for $19.00</option>
<option value="105062732">X-Large / Blue / Men's for $19.00</option>
<option value="105062802">Small / Black / Women's for $19.00</option>
</select>
下面是开发链接和密码。
http://terry-inc6406.myshopify.com/products/featured-product-1
通行证:yhc
再次感谢!很抱歉这么长的第一篇文章