第一步,我们将之前的网站设置的路由修改一下
//原来的路由
Route::get('/settings', 'SettingsController@index')->name('settings.index');
改为新的路由
//网站配置
Route::get('/settings/{classinfo}', 'SettingsController@index')->name('settings.index');
我们只是增加了一个路由参数。
然后打开之前的app\Admin\Controllers\SettingsController.php
将里面的
public function index(Content $content)
{
return $content
->title('网站设置')
->description('详情')
->body(new Card(new Setting()));
}
修改为
public function index(Content $content, $classinfo)
{
switch ($classinfo){ //这部分是根据参数来改变当前表单的标题
case 'setting':
$title = '网站设置';
break;
case 'highseas':
$title = '公海设置';
break;
default:
$title = '运营设置';
}
$classinfo = '\App\Admin\Forms\\'.$classinfo;
return $content
->title($title)
->description('详情')
->body(new Card(new $classinfo()));
}
原理:控制器对应的变量名 $classinfo 会匹配路由片段中的 {classinfo}
然后只需要在Forms
文件夹中新增你的页面即可。无论增加多少个页面都不需要再修改路由和控制器了。
注意,类文件名称和类名称都需要小写,为了迁就路由参数,很多时候我们习惯在浏览器输入小写,如果类名称为驼峰形式,在linux下面会出错。
就这么简单。结束。