2014-10-07 3 views
0

Я искал и спрашивал, но я не могу найти то, что я ищу, или что-то подобное.Laravel Cookies

Я ищу способ передачи определенных настроек для пользователя. У меня есть меню в моем back-end, которое пользователь может узреть или держать в ширину. Стандартное меню - широкое. Если пользователь переходит к использованию узкого меню и переходит на другую страницу, меню «сбрасывает» на широкоэкранное состояние по умолчанию. Я бы хотел пройти эту настройку с пользователем.

Я знаю, что мне нужно сделать печенье. но что еще? без понятия.

ВАЖНО! Я НЕ ищу прямых ответов (которые не научат меня чему-либо). Я ищу предложения о том, как это сделать, и, если возможно, сайт, содержащий некоторые объяснения.

Как я уже сказал, я знаю, как сделать печенье, но я не знаю, как его прикрепить.

+0

Не быть слишком суровым, но простой взгляд на документы Laravel была бы помочь вам ... это довольно простая задача: http://laravel.com/docs/ 4.2/request # cookies –

+0

@ ЯсенСлавов, это то, что я сделал раньше. Но мне все еще неясно. Поскольку мое значение cookie может иметь два разных значения, как передать это необязательное значение в значение cookie. – Jeroen

ответ

1

Лучший способ использовать файлы cookie с использованием метода queue, потому что cookie будет автоматически добавлен в ответ.

Вы можете создать несколько файлов cookie для одного пользователя, но вы не можете поместить необязательные/разные значения.

Если пользователь изменит меню на узкий, вы должны сохранить кук со значением, например, 1, и если он хочет меню широкого снова быть, вы можете удалить кук или установить его значение 2.

Каждый раз, вы загружаете страницу, вы должны проверить, есть ли файл cookie с выбранным именем, и если оно равно 1 или другому.

+0

Теперь это имеет смысл @Marcin Nabiałek! Спасибо за ваш вклад, и я буду играть с ним. Но как «сохранить» куки? :/ – Jeroen

+0

@Jeroen вам не нужно работать, поэтому вы должны посмотреть http://laravel.com/docs/4.2/requests#cookies и, как я уже сказал, выбрать метод «queue» для сохранения cookie –

+0

Oh! извините @Marcin Nabiałek! я имел в виду это по-другому, я имел в виду: что вы имеете в виду с сохранением. Я знаю, что я не хочу рабочего решения, просто не сказал это правильно :) – Jeroen

1

Laravel Печенье с использованием

$cookie = Cookie::make('name', 'value', 60); 
$response = Response::make('Hello World'); 

return $response->withCookie($cookie); 

or 

$cookie = Cookie::make('name', 'value', 60); 
$view = View::make('categories.list'); 

return Response::make($view)->withCookie($cookie); 

or 

$cookie = Cookie::make('name', 'value', 60); 

return Redirect::route('home')->withCookie($cookie);