2015-11-17 51 views
0

我想在查看文件(example.blade.php)中創建一個cookie。我想在佈局目錄中的masterfile.blade.php中創建cookie,所以我沒有控制器。在另一個控制器和另一個視圖中,我可以設置cookie,但我希望在應用程序啓動時設置cookie。我怎樣才能做到這一點。我在控制器中完成了它,但我不知道如何直接在視圖中使用,有人幫助。如何在查看文件中設置Cookie在Laravel

$cookie_value= rand(1000,10000).$timestamp; 
     $view = View::make('shop.show',compact('productTabs','product','storename','business')); 
     $cookie = Cookie::make('gdoox_shopping_cart', $cookie_value, 1000); 
     return Response::make($view)->withCookie($cookie); 
+0

你說你想從一個視圖做到這一點,以註冊您的中間件,但你也說你想這樣做「的時候應用程序啓動「。這是什麼? –

+0

@MarkAmery:我的意思是說我想在我的主頁中設置cookie。我想在View中這樣做。 –

回答

0

如果您的cookie尚未設置,您可以使用Global Middleware進行設置。

public function handle($request, Closure $next) 
{ 
    if (!$request->hasCookie('gdoox_shopping_cart')) { 
     $cookie_value= rand(1000,10000).$timestamp; 

     return $next($request)->headers->setCookie(Cookie::make('gdoox_shopping_cart', $cookie_value, 1000)); 
    } 

    return $next($request); 
} 

不要忘記在HTTP/Kernel.php中間件屬性

+0

我認爲在Route中這樣做會在每次呈現視圖時設置一個新的cookie。如果cookie未在用戶瀏覽器中設置,我只想設置一次。 –

+0

我在路由文件中嘗試過,但沒有工作。 –

+0

我真的不明白你在這裏試圖做什麼 – PeterPan666