Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Laravel中编辑登录路径以更改语言首选项_Javascript_Php_Laravel - Fatal编程技术网

Javascript 在Laravel中编辑登录路径以更改语言首选项

Javascript 在Laravel中编辑登录路径以更改语言首选项,javascript,php,laravel,Javascript,Php,Laravel,如何编辑Laravel的默认登录页面以添加lanugage更改功能。现在我使用这个软件包,但问题是它不包括登录表单。所以,现在我有这样的东西:,或者。。。但对于登录,它只是 在login.blade.php中,我有以下内容: <select id="changeLang"> <option value="">{{ trans('language.languageChange') }}</option> <option value="/en

如何编辑Laravel的默认登录页面以添加lanugage更改功能。现在我使用这个软件包,但问题是它不包括登录表单。所以,现在我有这样的东西:,或者。。。但对于登录,它只是

在login.blade.php中,我有以下内容:

<select id="changeLang">
    <option value="">{{ trans('language.languageChange') }}</option>
    <option value="/en">English</option>
    <option value="/de">Deutsch</option>
</select>
这是:

<script type="text/javascript">
    $('#changeLang').change(function (e) {
        var locAppend = $(this).find('option:selected').val(),
            locSnip = "login";
        window.location.href = locAppend + "/" + locSnip;
    });
</script>

此脚本使用所选语言重新加载页面。现在它显示了一个错误,即路由不存在。此外,我需要能够保持登录后选定的语言。因此,当用户在登录表单中选择英语时,我希望为整个应用程序选择英语。

在路由文件中,确保Auth::routes的前缀为LaravelLocalization::setLocale

Route::group([ 'prefix' => LaravelLocalization::setLocale(), 'middleware' => ['localeSessionRedirect', 'localizationRedirect']], function () {
    Route::auth();

   // other routes here
});
我还建议在登录刀片视图中执行类似操作:

@foreach(LaravelLocalization::getSupportedLocales() as $localeCode => $properties)
   <li>
      <a rel="alternate" hreflang="{{$localeCode}}" href="{{LaravelLocalization::getLocalizedURL($localeCode) }}">
          <img class="flag" src="/assets/plugins/lang/icons/{{$localeCode}}.png" alt="" />
          {{ $properties['native'] }}
          <span class="value">{{$localeCode}}</span>
       </a>
   </li>
@endforeach

好的,它用于重定向。在我点击语言并登录后,它工作正常。但是当我单击语言时,页面会再次加载到,并始终显示英语。请删除您的javascript代码,$'changeLang'。changefunction e。。。。试着用我所拥有的每一个片段。但它只是重新加载页面。我希望我的意思是,请检查配置文件config/laravellocalization.php,并确保您取消了对您支持的地区的注释取消注释这一行://'de'=>['name'=>'derman','script'=>'Latn','native'=>'Deutsch','regional'=>'deu de'],