我根本不是Laravel的专家,所以我不知道如何解决此问题。我已经购买了要尝试编辑的laravel模板。
我的网站: 您可以在其中购买/出售特定商品的网站。
我的问题: 如果我在网站的购物车部分,我可以致电我的购物车数量,并为我的每个商品做一次foreach,这样它就会显示在我的购物车中。我试图在导航栏中创建一个购物车小图标,以显示购物车中的物品。问题:它不知道我的购物车数,因为这显然只在我在购物车中时才起作用,而在另一页上却不起作用。有人可以帮助我吗? 如果我不在购物车页面中,则会得到一个未定义的变量。
我试图将其添加到我的AppServiceProvider中,但是它告诉我“ cart”未知。 (我正在运行laravel 5.3,这就是为什么它是这样写的)
view()->share('cart', $cart);
我认为这是控制该部分的控制器(在ajax.php中)。
// cart contents
public function cart_contents() {
$cart = \Cart::content(true);
return view('cart')->with( 'cart', $cart );
view()->share('cart', $cart);
}
即使我似乎无法在除cart.page.blade之外的其他页面上“使用”它,我的购物车似乎已经被共享。
我在购物车上使用https://packagist.org/packages/kingpabel/shoppingcart。
答案 0 :(得分:0)
要在所有视图中使用变量,只需在AppServiceProvider
类(apps/Providers/AppServiceProvider.php
)中对其进行定义:
public function boot()
{
View::share('cart', Cart::where(..)->get());
}
更多信息可以在Laravel manual中找到。