我正在尝试创建一个页面,允许用户选择一种产品,然后当他们按“添加到购物车”时,该产品就会发送到购物车页面。
在我的产品页面上,我可以拥有附有2个或更多代码的同一商品,因此我创建了一个带有代码的选择,然后用户必须选择其中一个 然后按“添加到购物车”按钮转到购物车页面。
所以我目前拥有的方式是表单获取产品页面的ID,而不是选择框的ID。
我想知道的是如何根据所选内容更改路线。
这是我的代码
<form action="{{ route('product.addToCart', ['id' => $product->id]) }}" method="POST">
{{ csrf_field() }}
<div class="row">
<div class="col-lg-12 pl-0">
<select class="form-control mb-2" id="supplier_code" name="supplier_code">
@foreach($parent_product as $parent)
<option value="{{ $parent->supplier_code }}">{{ $parent->supplier_code }}</option>
@if(count($parent->parent))
@foreach($parent->parent as $child)
<option value="{{ $child->supplier_code }}">{{ $child->supplier_code }}</option>
@endforeach
@endif
@endforeach
</select>
</div>
</div>
{{ Form::submit('Add to Cart', array('class' => "btn btn-dark btn-lg btn-block")) }}
</form>
这是我的职责
public function getAddToCart(Request $request, $id)
{
$menus_child = Menu::where('menu_id', 0)->with('menusP')->get();
$contacts = Contact::all();
$product = Product::find($id);
$supplier_code = $request->supplier_code;
$oldCart = Session::has('cart') ? Session::get('cart') : null;
$cart = new Cart($oldCart);
$cart->add($product, $product->id, $supplier_code);
$request->session()->put('cart', $cart);
return view('public.shopping-cart', ['products' => $cart->items, 'totalPrice' => $cart->totalPrice, 'menus_child' => $menus_child, 'contacts' => $contacts, 'supplier_code' => $supplier_code]);
}
这是我的产品列表页面,用户将在其中单击产品以获取其详细信息。
<div class="col-xl-9 col-lg-8 col-md-12 product-list">
<div id="parent">
<div class="row grid-container">
@foreach($products as $product)
<?php
$cat_slug = "";
?>
@foreach($product->category as $category)
<?php
$cat_slug .= " ".$category->slug
?>
@endforeach
<?php
$product_image = getImagesArray($product->image);
?>
<div class="product_items col-xl-2 col-lg-4 col-md-4 col-sm-4 {{ $cat_slug }}">
<a href="{!! route('product.item', [$product->slug]) !!}">
<div>
@if(!empty($product_image))
<img src={!! "product_images/products/$product_image[0]" !!}>
@endif
<p>
{!! $product->title !!}
</p>
</div>
</a>
</div>
@endforeach
</div>
</div>
</div>
我不确定是否需要添加其他内容,所以如果需要,请告知我
答案 0 :(得分:0)
更改此:
<a href="{!! route('product.item', [$product->slug]) !!}">
对此:
<a href="{{ route('product.item', $product->id) }}">