我收到错误:
参数缺失或无效:必需参数缺失或无效: ID
尝试从产品页面向购物篮添加产品时,请不要理解为什么会发生这种情况?
dataGridView1.Columns[3].Name = "loadtickets";
任何有助于将其排序的帮助都很棒!
编辑 - 更新代码
<form action="/cart/add" method="post" enctype="multipart/form-data">
{% if product.options.size > 1 %}
<fieldset class="group">
<ul class="checkbox">
{% for variant in product.variants %}
{% if variant.available == true %}
<li>
<label>
<input type="radio" value="{{variant.id}}" name="id" />
{{ variant.title }} for {{ product.price | minus:variant.price | money_with_currency }}
</label>
</li>
{% else %}
{% endif %}
{% endfor %}
</ul>
</fieldset>
{% endif %}
<input type="submit" name="add" id="add" class="inpost-buy w-button" value="Add to Bag →"></input>
</form>
答案 0 :(得分:1)
您需要确保至少发送一个ID。我认为你也需要一个数量(如果你使用购物车api你会这样做)但是如果没有给出直线形式的帖子可能会假定为1。我要加一个数量。如果您不希望它只显示使用type=hidden
。
您的第二个问题是您的代码没有后备。如果某个产品有选项但没有可用的变体,那么您将被卡住。通常我使用变量来跟踪我是否有可购买的变体。你可以通过多种方式实现这一目标。我使用product.first_available_variant:
添加了一个测试{% if product.first_available_variant == true %}
<form ...>
{% if product.options.size > 1 %}
...
<input type="radio" value="{{variant.id}}" name="id" {%if variant.id == product.selected_or_first_available_variant.id %} checked{% endif %} >
<label>{{ variant.title }} for {{ product.price | minus:variant.price | money_with_currency }}</label>
...
{% else %}
<input type="hidden" name="id" value="{{ product.selected_or_first_available_variant.id }}">
{% endif %}
<input type='hidden' name='quantity' value='1'>
</form>
{% else %}
<p>{{ 'no_product_available' | t }}</p> // or just some text if no locale support.
{% endif %}