Skip to content

Commit

Permalink
Admin can manage site settings
Browse files Browse the repository at this point in the history
  • Loading branch information
vagrant committed Apr 11, 2018
1 parent eb2c081 commit f84feb7
Show file tree
Hide file tree
Showing 5 changed files with 95 additions and 3 deletions.
3 changes: 3 additions & 0 deletions config/administrator.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,9 @@
'topics' ,
'replies' ,
] ,
'站点管理' => [
'settings.site' ,
] ,
] ,

/*
Expand Down
87 changes: 87 additions & 0 deletions config/administrator/settings/site.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
<?php
/**
* Created by PhpStorm.
* User: cuijianguo
* Date: 18/4/11
* Time: 下午12:50
*/

return [
'title' => '站点设置' ,

// 访问权限判断
'permission' => function () {
// 只允许站长管理站点配置
return Auth::user ()->hasRole ( 'Founder' );
} ,

// 站点配置的表单
'edit_fields' => [
'site_name' => [
// 表单标题
'title' => '站点名称' ,

// 表单条目类型
'type' => 'text' ,

// 字数限制
'limit' => 50 ,
] ,
'contact_email' => [
'title' => '联系人邮箱' ,
'type' => 'text' ,
'limit' => 50 ,
] ,
'seo_description' => [
'title' => 'SEO - Description' ,
'type' => 'textarea' ,
'limit' => 250 ,
] ,
'seo_keyword' => [
'title' => 'SEO - Keywords' ,
'type' => 'textarea' ,
'limit' => 250 ,
] ,
] ,

// 表单验证规则
'rules' => [
'site_name' => 'required|max:50' ,
'contact_email' => 'email' ,
] ,

'messages' => [
'site_name.required' => '请填写站点名称。' ,
'contact_email.email' => '请填写正确的联系人邮箱格式。' ,
] ,

// 数据即将保持的触发的钩子,可以对用户提交的数据做修改
'before_save' => function ( &$data ) {
// 为网站名称加上后缀,加上判断是为了防止多次添加
if ( strpos ( $data[ 'site_name' ] , 'Powered by LaraBBS' ) === false ) {
$data[ 'site_name' ] .= ' - Powered by LaraBBS';
}
} ,

// 你可以自定义多个动作,每一个动作为设置页面底部的『其他操作』区块
'actions' => [

// 清空缓存
'clear_cache' => [
'title' => '更新系统缓存' ,

// 不同状态时页面的提醒
'messages' => [
'active' => '正在清空缓存...' ,
'success' => '缓存已清空!' ,
'error' => '清空缓存时出错!' ,
] ,

// 动作执行代码,注意你可以通过修改 $data 参数更改配置信息
'action' => function ( &$data ) {
\Artisan::call ( 'cache:clear' );
return true;
}
] ,
] ,
];
2 changes: 1 addition & 1 deletion resources/views/layouts/_footer.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@
style="color: #e27575;font-size: 14px;">❤</span>
</p>

<p class="pull-right"><a href="mailto:[email protected]">联系我们</a></p>
<p class="pull-right"><a href="mailto:{{ setting('contact_email') }}">联系我们</a></p>
</div>
</footer>
5 changes: 3 additions & 2 deletions resources/views/layouts/app.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@
<!-- CSRF Token -->
<meta name="csrf-token" content="{{ csrf_token() }}">

<title>@yield('title', 'LaraBBS') - Laravel 进阶教程</title>
<meta name="description" content="@yield('description', 'LaraBBS 爱好者社区')"/>
<title>@yield('title', 'LaraBBS') - {{ setting('site_name', 'Laravel 进阶教程') }}</title>
<meta name="description" content="@yield('description', setting('seo_description', 'LaraBBS 爱好者社区。'))"/>
<meta name="keyword" content="@yield('keyword', setting('seo_keyword', 'LaraBBS,社区,论坛,开发者论坛'))"/>

<!-- Styles -->
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
Expand Down
1 change: 1 addition & 0 deletions storage/administrator_settings/site.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"site_name":"laravel \u6559\u7a0b\u5b66\u4e60 - Powered by LaraBBS","contact_email":"[email protected]","seo_description":"LaraBBS \u7231\u597d\u8005","seo_keyword":"LaraBBS \u5b66\u4e60"}

0 comments on commit f84feb7

Please sign in to comment.