用到的相关知识
dcat工具表单,dcat自定义函数admin_setting等
创建工具表单
PHP artisan admin:form setting
在 form 方法中构建表单项,使用方法和数据表单一致
$this->confirm(trans('hint.setting1'), trans('hint.setting2'));
$this->text('web_name')->default(admin_setting('web_name', '网站名'));
$this->text('company_name')->default(admin_setting('company_name', '公司名'));
$this->text('url')->default(admin_setting('url', ''));
$this->image('logo')->accept('jpg,png,gif,jpeg')->maxSize(1024)->required()->help(trans('hint.size') . trans('hint.no') . '1M')->autoUpload();
$this->image('login_img')->accept('jpg,png,gif,jpeg')->maxSize(1024)->required()->help(trans('hint.size') . trans('hint.no') . '1M')->autoUpload();
$this->text('web_inscribe');
在handle中写入如下代码
admin_setting($input);
return $this
->response()
->success(trans('hint.success'))
->refresh();
表单调用
return $content
->header(trans('hint.systems'))
->body(new Card(new Setting()));
重写站点配置(在bootstrap.php初始化文件中)
if (file_exists('upload/' . admin_setting('logo'))) {
$logo = '<img src="/upload/' . admin_setting('logo') . '" width="35"> ' . admin_setting('company_name');
$mini = '<img src="/upload/' . admin_setting('logo') . '" >';
} else {
$logo = config('admin.logo');
$mini = config('admin.logo-mini');
}
config([
'admin.title' => admin_setting('web_name'),
'admin.name' => admin_setting('company_name'),
'admin.logo' => $logo,
'admin.logo-mini' => $mini,
'app.url' => admin_setting('url'),
]);