![](/img/trans.png)
[英]How to Allow New User to Add Products in opencart or nopcommerce
[英]Laravel Form: Allow user to add multiple products at a time
我有一個表格,用戶必須從下拉菜單中選擇一種產品並輸入使用的數量。 我希望用戶能夠一次添加多個產品。 我需要幫助來處理這些數據。
到目前為止,這就是我所做的。 我保留了6對字段,用戶必須填寫第一對,但其他字段是可選的,這是刀片代碼。
{!! Form::open(['route' => 'parts.raw.store', 'id' => 'raw-part-form' , 'class'=>'raw-part-form','name'=>'raw-part-form' ]) !!}
@for($in=0;$in<6;$in++)
<div class='col-md-7'>
<label for="raw_material_id"{{$in}}>Packing Material</label>
{!! Form::select('raw_material_id'.$in, $raw_materials
->lists('display_name','id')->prepend('',''),null,
['class' => 'form-control', 'id' => 'raw_material_id'.$in])!!}
</div>
<div class='col-md-5'>
<label for="qty_used{{$in}}">Qty used</label>
<input type="number" min="1" step="1" class="form-control"
id="qty_used{{$in}}" name="qty_used{{$in}}" placeholder="Qty Used"">
</div>
@endfor
我不確定這是否是一個好方法。 我也很困惑如何在控制器中處理它。
就像是:
對於刀片:
@foreach ($foods as $k => $food) // or 1 to 6
<tr>
<td>
<input type="number" name="item[{{$k}}][qty]" value="0">
<input type="hidden" name="item[{{$k}}][id]" value="{{$food->id}}">
</td>
<td>{{ $food->name }}</td>
<td>{{ $food->price }} €</td>
<td>
<a href="/cart/add/{{$food->id}}">+</a>
</td>
</tr>
@endforeach
控制器:
public function checkout(Request $request)
{
$input = $request->all();
foreach ($input['item'] as $item) {
$this->ValidQtyCheck($item['qty']); // >0 or remove it
$food = Food::findOrFail($item['id'])->toArray();
Cart::add($item['id'], $food['name'], $item['qty'], $food['price']);
}
return redirect('/cart/view');
}
專業提示,用於動態添加而不是始終添加6: 專業提示
驗證數組
驗證數組表單輸入字段不必費勁。 例如,要驗證給定數組輸入字段中的每個電子郵件都是唯一的,您可以執行以下操作:
$validator = Validator::make($request->all(), [
'person.*.email' => 'email|unique:users',
'person.*.first_name' => 'required_with:person.*.last_name',
]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.