通过在Laravel中设置和获取cookie来更改下拉列表中的语言?

时间:2015-06-29 21:39:05

标签: jquery laravel cookies laravel-4 controller

我试图通过视图页面上的下拉菜单更改Laravel中的语言。在下拉列表中选择语言后,我想设置cookie并将该cookie值传递给LanguageController中的App :: setLocale()。 现在有两件事情不起作用:

  1. link_to_route不会触发任何内容
  2. Cookie :: get(' lang')始终为NULL,因此该值不会传递给 应用程序的setLocale ::();
  3. 查看

    <select id="dropdownLang">
        <option value="">Change Language</option>
        <option value="en"><?php echo link_to_route('language.lang', 'English', array('en'));?></option>
        <option value="sp">?php echo link_to_route('language.lang', 'Spanish', array('sp'));?></option>
    </select>
    

    路线

    Route::get('language/{lang}', ['as' => 'language.lang', 'uses' => 'LanguageController@lang']);
    

    控制器

    class LanguageController {
    
       public function __construct() {
          App::setLocale(Cookie::get('lang'));
          var_dump(Cookie::get('lang'));
       }
    
       public function lang($lang) {
          Cookie::forever('lang', $lang);
    
          return Redirect::back();
       }
    
    }
    

0 个答案:

没有答案