在 Laravel 中从管理面板更改默认登录页面
Change default login pages from admin panel in Laravel
我有一个具有各种功能的管理面板。站点前端还有两个登录表单:
默认登录表单是 http://example.com/login
如果 he/she 想使用第二个登录表单,用户可以点击它。
这些是他们的路线
Route::get ('/users/login', ['uses' => 'UsersController@login', 'before' => 'guest']);
Route::get ('/users/no_login', ['uses' => 'UsersController@no_login', 'before' => 'guest']);
在我的管理面板中有哪些切换器的选项,我可以从那里切换登录页面的默认页面,例如在 login
和 login2
之间切换。
如果我将它们放入数据库中,我需要更改路由以获取当前活动表单,还是有其他方法?
编辑
public function login() {
$login = Preferences::all();
if ($login->preferences_login == 0){
return View::make('users.login');
}
return View::make('users.no_login');
}
错误是
Undefined property: Illuminate\Database\Eloquent\Collection::$preferences_login
你可以通过多种方式解决这个问题。
就像您在管理面板中所说的那样,制作一些 link 来切换数据库中的值,您只需要在 routes/web.php
中有一个路由
Route::get ('/users/login', ['uses' => 'UsersController@login', 'before' => 'guest']);
然后在那个控制器函数 login() 中你可以检查
if ($db_value == 1){
return view('login');
} else {
return view('no_login');
}
和return对应的视图
或者你可以在 .env 文件中创建一些变量
APP_FLAVOUR=your_flavour
并在控制器中检查它
if (env('APP_FLAVOUR') == your_flavour){
return view('login');
} else {
return view('no_login');
}
但是如果您不经常更改它,这个更像是一个固定值。
我有一个具有各种功能的管理面板。站点前端还有两个登录表单:
默认登录表单是 http://example.com/login
如果 he/she 想使用第二个登录表单,用户可以点击它。
这些是他们的路线
Route::get ('/users/login', ['uses' => 'UsersController@login', 'before' => 'guest']);
Route::get ('/users/no_login', ['uses' => 'UsersController@no_login', 'before' => 'guest']);
在我的管理面板中有哪些切换器的选项,我可以从那里切换登录页面的默认页面,例如在 login
和 login2
之间切换。
如果我将它们放入数据库中,我需要更改路由以获取当前活动表单,还是有其他方法?
编辑
public function login() {
$login = Preferences::all();
if ($login->preferences_login == 0){
return View::make('users.login');
}
return View::make('users.no_login');
}
错误是
Undefined property: Illuminate\Database\Eloquent\Collection::$preferences_login
你可以通过多种方式解决这个问题。
就像您在管理面板中所说的那样,制作一些 link 来切换数据库中的值,您只需要在 routes/web.php
中有一个路由Route::get ('/users/login', ['uses' => 'UsersController@login', 'before' => 'guest']);
然后在那个控制器函数 login() 中你可以检查
if ($db_value == 1){
return view('login');
} else {
return view('no_login');
}
和return对应的视图
或者你可以在 .env 文件中创建一些变量
APP_FLAVOUR=your_flavour
并在控制器中检查它
if (env('APP_FLAVOUR') == your_flavour){
return view('login');
} else {
return view('no_login');
}
但是如果您不经常更改它,这个更像是一个固定值。