图片未添加到购物车中

时间:2017-11-08 06:28:22

标签: php laravel laravel-5

我正在使用Crinsane购物车,我试图将图像传递给购物车,但是 我有错误

  

参数5传递给Gloudemans \ Shoppingcart \ Cart :: add()必须是   类型数组,给定的字符串,调用   E:\ phalwalatheme \供应商\ laravel \框架的\ src \照亮的\ Support \外立面\ Facade.php   在第221行

CartController.php

public function addItem($id)
{
     $products=Products::find($id);

     Cart::add($id,$products->name, $products->image ,1,$products->price);
     return back();
}

cart.blade.php

<td class="product-thumbnail">
    <img src="{{url('images/product',$cartItem->image)}}" alt="product-thumbnail">
</td>

当我评论$products->image时,一切正常。 img div也在展示&#34; alt&#34;输出。我还使用了{{ $product->image}}array($products->image)。但他们都没有工作。

3 个答案:

答案 0 :(得分:1)

您的错误是Argument 5 passed to Gloudemans\Shoppingcart\Cart::add() must be of the type array, string given这意味着它需要array()并且您提供string

尝试如下:

Cart::add(array('id' => $id, 'name' => $products->name, 'qty' => 1, 'price' => $products->price, 'image' => $products->image));

要在cart.blade.php文件中显示图片,请执行以下操作:

<img src="{{ asset('images/product/'. $cartItem->image) }}" alt="product-thumbnail">

希望这能解决你的问题!

答案 1 :(得分:0)

您应该使用array(),如:

CartController.php

public function addItem($id){
    $products=Products::find($id);

    Cart::add(array('id' => $id, 'name' => $products->name, 'qty' => 1, 
    'price' => $products->price, 'image' => $products->image));

    return back();
}

cart.blade.php

<td class="product-thumbnail">
    <img src="/images/product/{{$cartItem->image}}" alt="product-thumbnail">
</td>

确保$cartItem->image是图像资源的链接 url第二个参数是一个数组,其中包含一个值,例如url('user/profile', [1]);laravel url中读取有关url帮助器的信息

答案 2 :(得分:0)

我认为你没有正确地通过Crinsane shopping Cart document

在最基本的表单中,您可以指定要添加到购物车的产品的ID,名称,数量和价格。 Cart::add('293ad', 'Product 1', 1, 9.99);

作为可选的第五个参数,您可以传递它选项,因此您可以添加具有相同ID的多个项目,但(例如)具有不同的大小。 Cart::add('293ad', 'Product 1', 1, 9.99, ['size' => 'large']); 所以你的代码应该是这样的: Cart::add($id,$products->name,1,$products->price,['image' => $products->image]); 希望这会有所帮助。