From b475629ee9c778a48022ee26186ac4290aa2348e Mon Sep 17 00:00:00 2001 From: Karson <karsonzhang@163.com> Date: Sun, 23 Apr 2017 20:38:54 +0800 Subject: [PATCH] 新增后台分类管理 新增后台多语言切换 新增后台最新日志更新 修复后台移动端列表无法滚动的BUG 修复后台部分语言文字 --- README.md | 1 + application/admin/command/Crud/stubs/index.stub | 4 ++-- application/admin/controller/Ajax.php | 4 ++-- application/admin/controller/Category.php | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ application/admin/lang/zh-cn.php | 2 ++ application/admin/model/Page.php | 16 ---------------- application/admin/view/category/add.html | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ application/admin/view/category/edit.html | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ application/admin/view/category/index.html | 25 +++++++++++++++++++++++++ application/admin/view/common/header.html | 33 +++++++++++++++++---------------- application/admin/view/general/attachment/index.html | 4 ++-- application/admin/view/general/configvalue/index.html | 4 ++-- application/admin/view/general/crontab/index.html | 4 ++-- application/admin/view/page/index.html | 4 ++-- application/admin/view/user/third/index.phtml | 4 ++-- application/admin/view/user/user/index.phtml | 4 ++-- application/admin/view/wechat/autoreply/index.html | 4 ++-- application/common/controller/Backend.php | 2 +- application/common/model/Category.php | 22 ++++++++++++++++++++++ application/common/model/Page.php | 8 ++++---- application/config.php | 2 +- public/assets/js/backend/category.js | 21 +++++++++++++-------- public/assets/js/backend/index.js | 14 ++++++++++++++ public/assets/js/require-table.js | 2 +- 24 files changed, 301 insertions(+), 65 deletions(-) create mode 100644 application/admin/controller/Category.php delete mode 100644 application/admin/model/Page.php create mode 100644 application/admin/view/category/add.html create mode 100644 application/admin/view/category/edit.html create mode 100644 application/admin/view/category/index.html diff --git a/README.md b/README.md index f33583d..4376bfc 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ FastAdmin是一款基于ThinkPHP5+Bootstrap的极速后台管理系统。 * 基于`Less`进行样式开发 * 基于`Bower`进行前端组件包管理 * 数据库表一键生成`CRUD`,包括控制器、模型、视图、JS、语言包 +* 一键压缩打包JS和CSS文件 * 多语言支持,服务端及客户端支持 * 无缝整合又拍云上传功能 * 第三方登录(QQ、微信、微博)整合 diff --git a/application/admin/command/Crud/stubs/index.stub b/application/admin/command/Crud/stubs/index.stub index f9ca18d..d3eefa4 100644 --- a/application/admin/command/Crud/stubs/index.stub +++ b/application/admin/command/Crud/stubs/index.stub @@ -10,8 +10,8 @@ <div class="dropdown btn-group"> <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a> <ul class="dropdown-menu text-left" role="menu"> - <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> 设为正常</a></li> - <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> 设为隐藏</a></li> + <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li> + <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li> </ul> </div> </div> diff --git a/application/admin/controller/Ajax.php b/application/admin/controller/Ajax.php index 92f5279..2933540 100644 --- a/application/admin/controller/Ajax.php +++ b/application/admin/controller/Ajax.php @@ -71,8 +71,8 @@ class Ajax extends Backend $controllername = input("controllername"); Lang::load(APP_PATH . $modulename . '/lang/' . Lang::detect() . '/' . str_replace('.', '/', $controllername) . '.php'); //强制输出JSON Object -// $result = 'define(' . json_encode(Lang::get(), JSON_FORCE_OBJECT | JSON_UNESCAPED_UNICODE) . ');'; - return jsonp(Lang::get()); + $result = 'define(' . json_encode(Lang::get(), JSON_FORCE_OBJECT | JSON_UNESCAPED_UNICODE) . ');'; + return $result; } /** diff --git a/application/admin/controller/Category.php b/application/admin/controller/Category.php new file mode 100644 index 0000000..c0a5e81 --- /dev/null +++ b/application/admin/controller/Category.php @@ -0,0 +1,56 @@ +<?php + +namespace app\admin\controller; + +use app\common\controller\Backend; +use app\common\model\Category as CategoryModel; +use fast\Tree; + +/** + * 分类管理 + * + * @icon fa fa-list + * @remark 用于统一管理网站的所有分类,分类可进行无限级分类 + */ +class Category extends Backend +{ + + protected $model = null; + protected $categorylist = []; + + public function _initialize() + { + parent::_initialize(); + $this->model = model('Category'); + + $tree = Tree::instance(); + $tree->init(CategoryModel::getCategoryArray(), 'pid'); + $this->categorylist = $tree->getTreeList($tree->getTreeArray(0), 'name'); + $categorydata = [0 => __('None')]; + foreach ($this->categorylist as $k => $v) + { + $categorydata[$v['id']] = $v['name']; + } + $this->view->assign("typelist", CategoryModel::getTypeList()); + $this->view->assign("parentlist", $categorydata); + } + + /** + * 查看 + */ + public function index() + { + if ($this->request->isAjax()) + { + + //构造父类select列表选项数据 + $list = $this->categorylist; + $total = count($list); + $result = array("total" => $total, "rows" => $list); + + return json($result); + } + return $this->view->fetch(); + } + +} diff --git a/application/admin/lang/zh-cn.php b/application/admin/lang/zh-cn.php index 24db85d..af8992e 100644 --- a/application/admin/lang/zh-cn.php +++ b/application/admin/lang/zh-cn.php @@ -90,6 +90,8 @@ return [ '%d month%s ago' => '%d月前', '%d year%s ago' => '%d年前', // + 'Set to normal' => '设为正常', + 'Set to hidden' => '设为隐藏', 'Invalid parameters' => '未知参数', 'No results were found' => '记录未找到', 'Parameter %s can not be empty' => '参数%s不能为空', diff --git a/application/admin/model/Page.php b/application/admin/model/Page.php deleted file mode 100644 index fe5b682..0000000 --- a/application/admin/model/Page.php +++ /dev/null @@ -1,16 +0,0 @@ -<?php - -namespace app\admin\model; - -use think\Model; - -class Page extends Model -{ - - // 自动写入时间戳字段 - protected $autoWriteTimestamp = false; - - // 定义时间戳字段名 - protected $createTime = false; - protected $updateTime = false; -} diff --git a/application/admin/view/category/add.html b/application/admin/view/category/add.html new file mode 100644 index 0000000..08fb31d --- /dev/null +++ b/application/admin/view/category/add.html @@ -0,0 +1,63 @@ +<form id="add-form" role="form" data-toggle="validator" method="POST" action=""> + <div class="row"> + <div class="col-xs-12 col-sm-6"> + <div class="form-group"> + <label for="type" class="control-label">{:__('Type')}:</label> + {:build_select('row[type]', $typelist, [], ['id'=>'c-type','class'=>'form-control selectpicker','required'=>''])} + </div> + <div class="form-group"> + <label for="title" class="control-label">{:__('Name')}:</label> + <input type="text" class="form-control" id="name" name="row[name]" value="" required="required" /> + </div> + <div class="form-group"> + <label for="nickname" class="control-label">{:__('Nickname')}:</label> + <input type="text" class="form-control" id="nickname" name="row[nickname]" value="" required="required" /> + </div> + <div class="form-group"> + <label for="diyname" class="control-label">{:__('Diyname')}:</label> + <input type="text" class="form-control" id="diyname" name="row[diyname]" value="" required="required" /> + </div> + <div class="form-group"> + <label for="keywords" class="control-label">{:__('Keywords')}:</label> + <input type="text" class="form-control" id="keywords" name="row[keywords]" value="" /> + </div> + <div class="form-group"> + <label for="description" class="control-label">{:__('Description')}:</label> + <textarea name="row[description]" id="description" class="form-control" cols="30" rows="3"></textarea> + </div> + <div class="row"> + <div class="col-sm-4"> + <div class="form-group form-inline"> + <label for="weigh" class="control-label">{:__('Weigh')}:</label> + <input type="text" class="form-control" id="weigh" name="row[weigh]" value="0" required="required" size="3" /> + </div> + </div> + </div> + </div> + <div class="col-xs-12 col-sm-6"> + + <div class="form-group"> + <label for="pid" class="control-label">{:__('Parent')}:</label> + {:build_select('row[pid]', $parentlist, null, ['id'=>'c-pid','class'=>'form-control selectpicker','required'=>''])} + </div> + <div class="form-group"> + <label for="c-flag" class="control-label">{:__('Flag')}:</label> + {:build_select('row[flag]', 'h,i,s', null, ['id'=>'c-flag','class'=>'form-control selectpicker','required'=>''])} + </div> + <div class="form-group"> + <label for="content" class="control-label">{:__('Status')}:</label> + <div> + {:build_radios('row[status]', ['normal'=>__('Normal'), 'hidden'=>__('Hidden')])} + </div> + </div> + </div> + </div> + <div class="form-group hidden layer-footer"> + <label class="control-label col-xs-12 col-sm-2"></label> + <div class="col-xs-12 col-sm-8"> + <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button> + <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button> + </div> + </div> +</div> +</form> diff --git a/application/admin/view/category/edit.html b/application/admin/view/category/edit.html new file mode 100644 index 0000000..3adec27 --- /dev/null +++ b/application/admin/view/category/edit.html @@ -0,0 +1,63 @@ +<form id="add-form" role="form" data-toggle="validator" method="POST" action=""> + <div class="row"> + <div class="col-xs-12 col-sm-6"> + <div class="form-group"> + <label for="type" class="control-label">{:__('Type')}:</label> + {:build_select('row[type]', $typelist, $row['type'], ['id'=>'c-type','class'=>'form-control selectpicker','required'=>''])} + </div> + <div class="form-group"> + <label for="title" class="control-label">{:__('Name')}:</label> + <input type="text" class="form-control" id="name" name="row[name]" value="{$row.name}" required="required" /> + </div> + <div class="form-group"> + <label for="nickname" class="control-label">{:__('Nickname')}:</label> + <input type="text" class="form-control" id="nickname" name="row[nickname]" value="{$row.nickname}" required="required" /> + </div> + <div class="form-group"> + <label for="diyname" class="control-label">{:__('Diyname')}:</label> + <input type="text" class="form-control" id="diyname" name="row[diyname]" value="{$row.diyname}" required="required" /> + </div> + <div class="form-group"> + <label for="keywords" class="control-label">{:__('Keywords')}:</label> + <input type="text" class="form-control" id="keywords" name="row[keywords]" value="{$row.keywords}" /> + </div> + <div class="form-group"> + <label for="description" class="control-label">{:__('Description')}:</label> + <textarea name="row[description]" id="description" class="form-control" cols="30" rows="3">{$row.description}</textarea> + </div> + <div class="row"> + <div class="col-sm-4"> + <div class="form-group form-inline"> + <label for="weigh" class="control-label">{:__('Weigh')}:</label> + <input type="text" class="form-control" id="weigh" name="row[weigh]" value="{$row.weigh}" required="required" size="3" /> + </div> + </div> + </div> + </div> + <div class="col-xs-12 col-sm-6"> + + <div class="form-group"> + <label for="pid" class="control-label">{:__('Parent')}:</label> + {:build_select('row[pid]', $parentlist, $row['pid'], ['id'=>'c-pid','class'=>'form-control selectpicker','required'=>''])} + </div> + <div class="form-group"> + <label for="c-flag" class="control-label">{:__('Flag')}:</label> + {:build_select('row[flag]', 'h,i,s', $row['flag'], ['id'=>'c-flag','class'=>'form-control selectpicker','required'=>''])} + </div> + <div class="form-group"> + <label for="content" class="control-label">{:__('Status')}:</label> + <div> + {:build_radios('row[status]', ['normal'=>__('Normal'), 'hidden'=>__('Hidden')], $row['status'])} + </div> + </div> + </div> + </div> + <div class="form-group hidden layer-footer"> + <label class="control-label col-xs-12 col-sm-2"></label> + <div class="col-xs-12 col-sm-8"> + <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button> + <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button> + </div> + </div> +</div> +</form> diff --git a/application/admin/view/category/index.html b/application/admin/view/category/index.html new file mode 100644 index 0000000..d3eefa4 --- /dev/null +++ b/application/admin/view/category/index.html @@ -0,0 +1,25 @@ +<div class="panel panel-default panel-intro"> + {:build_heading()} + + <div class="panel-body"> + <div id="myTabContent" class="tab-content"> + <div class="tab-pane fade active in" id="one"> + <div class="widget-body no-padding"> + <div id="toolbar" class="toolbar"> + {:build_toolbar()} + <div class="dropdown btn-group"> + <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a> + <ul class="dropdown-menu text-left" role="menu"> + <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li> + <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li> + </ul> + </div> + </div> + <table id="table" class="table table-striped table-bordered table-hover" width="100%"> + </table> + </div> + </div> + + </div> + </div> +</div> diff --git a/application/admin/view/common/header.html b/application/admin/view/common/header.html index ce5efc7..c0ed16b 100644 --- a/application/admin/view/common/header.html +++ b/application/admin/view/common/header.html @@ -25,31 +25,32 @@ <a href="{:url('index/index/index')}" target="_blank"><i class="fa fa-home" style="font-size:14px;"></i></a> </li> - <!-- 通栏下拉框样式 --> <li class="dropdown notifications-menu"> <a href="#" class="dropdown-toggle" data-toggle="dropdown"> <i class="fa fa-bell-o"></i> - <span class="label label-warning">2</span> + <span class="label label-warning"></span> </a> <ul class="dropdown-menu"> - <li class="header">You have 10 notifications</li> + <li class="header">{:__('Latest news')}</li> <li> - <!-- 下拉条目样式 --> + <!-- FastAdmin最新更新信息,你可以替换成你自己站点的信息,请注意修改public/assets/js/backend/index.js文件 --> <ul class="menu"> - <li> - <a href="#"> - <i class="fa fa-users text-aqua"></i> 5 new members joined today - </a> - </li> - <li> - <a href="#"> - <i class="fa fa-warning text-yellow"></i> Very long description here that may not fit into the - page and may cause design problems - </a> - </li> + </ul> </li> - <li class="footer"><a href="#">View all</a></li> + <li class="footer"><a href="#" target="_blank">{:__('View all')}</a></li> + </ul> + </li> + + <li> + <a href="javascript:;" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-language"></i></a> + <ul class="dropdown-menu"> + <li class="{$config['language']=='zh-cn'?'active':''}"> + <a href="?lang=zh-cn">简体中文</a> + </li> + <li class="{$config['language']=='en'?'active':''}"> + <a href="?lang=en">English</a> + </li> </ul> </li> diff --git a/application/admin/view/general/attachment/index.html b/application/admin/view/general/attachment/index.html index f9ca18d..d3eefa4 100644 --- a/application/admin/view/general/attachment/index.html +++ b/application/admin/view/general/attachment/index.html @@ -10,8 +10,8 @@ <div class="dropdown btn-group"> <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a> <ul class="dropdown-menu text-left" role="menu"> - <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> 设为正常</a></li> - <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> 设为隐藏</a></li> + <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li> + <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li> </ul> </div> </div> diff --git a/application/admin/view/general/configvalue/index.html b/application/admin/view/general/configvalue/index.html index f9ca18d..d3eefa4 100644 --- a/application/admin/view/general/configvalue/index.html +++ b/application/admin/view/general/configvalue/index.html @@ -10,8 +10,8 @@ <div class="dropdown btn-group"> <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a> <ul class="dropdown-menu text-left" role="menu"> - <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> 设为正常</a></li> - <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> 设为隐藏</a></li> + <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li> + <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li> </ul> </div> </div> diff --git a/application/admin/view/general/crontab/index.html b/application/admin/view/general/crontab/index.html index f9ca18d..d3eefa4 100644 --- a/application/admin/view/general/crontab/index.html +++ b/application/admin/view/general/crontab/index.html @@ -10,8 +10,8 @@ <div class="dropdown btn-group"> <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a> <ul class="dropdown-menu text-left" role="menu"> - <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> 设为正常</a></li> - <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> 设为隐藏</a></li> + <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li> + <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li> </ul> </div> </div> diff --git a/application/admin/view/page/index.html b/application/admin/view/page/index.html index f9ca18d..d3eefa4 100644 --- a/application/admin/view/page/index.html +++ b/application/admin/view/page/index.html @@ -10,8 +10,8 @@ <div class="dropdown btn-group"> <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a> <ul class="dropdown-menu text-left" role="menu"> - <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> 设为正常</a></li> - <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> 设为隐藏</a></li> + <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li> + <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li> </ul> </div> </div> diff --git a/application/admin/view/user/third/index.phtml b/application/admin/view/user/third/index.phtml index f9ca18d..d3eefa4 100644 --- a/application/admin/view/user/third/index.phtml +++ b/application/admin/view/user/third/index.phtml @@ -10,8 +10,8 @@ <div class="dropdown btn-group"> <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a> <ul class="dropdown-menu text-left" role="menu"> - <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> 设为正常</a></li> - <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> 设为隐藏</a></li> + <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li> + <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li> </ul> </div> </div> diff --git a/application/admin/view/user/user/index.phtml b/application/admin/view/user/user/index.phtml index 7a571c6..43c6636 100644 --- a/application/admin/view/user/user/index.phtml +++ b/application/admin/view/user/user/index.phtml @@ -10,8 +10,8 @@ <div class="dropdown btn-group"> <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a> <ul class="dropdown-menu text-left" role="menu"> - <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> 设为正常</a></li> - <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> 设为隐藏</a></li> + <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li> + <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li> </ul> </div> </div> diff --git a/application/admin/view/wechat/autoreply/index.html b/application/admin/view/wechat/autoreply/index.html index 5993ae2..f1bdef1 100644 --- a/application/admin/view/wechat/autoreply/index.html +++ b/application/admin/view/wechat/autoreply/index.html @@ -10,8 +10,8 @@ <div class="dropdown btn-group"> <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> <?= __('More') ?></a> <ul class="dropdown-menu text-left" role="menu"> - <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> 设为正常</a></li> - <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> 设为隐藏</a></li> + <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li> + <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li> </ul> </div> </div> diff --git a/application/common/controller/Backend.php b/application/common/controller/Backend.php index 57a3a8e..92dd6c2 100644 --- a/application/common/controller/Backend.php +++ b/application/common/controller/Backend.php @@ -84,7 +84,7 @@ class Backend extends Controller // 非选项卡时重定向 if (!IS_AJAX && !IS_ADDTABS && $controllername != 'index' && $actionname == 'index') { - header("location:" . url('index/index#!' . urlencode($this->request->url()), '', false)); + header("location:" . url('index/index#!' . urlencode($this->request->baseUrl()), '', false)); exit; } diff --git a/application/common/model/Category.php b/application/common/model/Category.php index 30e949c..ef80cbd 100644 --- a/application/common/model/Category.php +++ b/application/common/model/Category.php @@ -34,4 +34,26 @@ class Category Extends Model return $typelist; } + /** + * 读取分类列表 + * @param string $type 指定类型 + * @param string $status 指定状态 + * @return array + */ + public static function getCategoryArray($type = NULL, $status = NULL) + { + $list = collection(self::where(function($query) use($type, $status) + { + if (!is_null($type)) + { + $query->where('type', '=', $type); + } + if (!is_null($status)) + { + $query->where('status', '=', $status); + } + })->order('weigh', 'desc')->select())->toArray(); + return $list; + } + } diff --git a/application/common/model/Page.php b/application/common/model/Page.php index 4f29b3e..7bba9fa 100644 --- a/application/common/model/Page.php +++ b/application/common/model/Page.php @@ -8,9 +8,9 @@ class Page extends Model { // 自动写入时间戳字段 - protected $autoWriteTimestamp = false; - + protected $autoWriteTimestamp = 'int'; // 定义时间戳字段名 - protected $createTime = false; - protected $updateTime = false; + protected $createTime = 'createtime'; + protected $updateTime = 'updatetime'; + } diff --git a/application/config.php b/application/config.php index 27526c7..df78ed8 100755 --- a/application/config.php +++ b/application/config.php @@ -41,7 +41,7 @@ return [ // 默认时区 'default_timezone' => 'PRC', // 是否开启多语言 - 'lang_switch_on' => false, + 'lang_switch_on' => true, // 默认全局过滤方法 用逗号分隔多个 'default_filter' => '', // 默认语言 diff --git a/public/assets/js/backend/category.js b/public/assets/js/backend/category.js index bf07eae..99fa851 100644 --- a/public/assets/js/backend/category.js +++ b/public/assets/js/backend/category.js @@ -24,12 +24,12 @@ define(['jquery', 'bootstrap', 'backend', 'form', 'table'], function ($, undefin [ {field: 'state', checkbox: true, }, {field: 'id', title: 'ID'}, - {field: 'name', title: '名称', align: 'left'}, - {field: 'nickname', title: '昵称'}, - {field: 'flag', title: '标志', formatter: Table.api.formatter.flag}, - {field: 'weigh', title: '权重'}, - {field: 'status', title: '状态', formatter: Table.api.formatter.status}, - {field: 'operate', title: '操作', events: Table.api.events.operate, formatter: Table.api.formatter.operate} + {field: 'name', title: __('Name'), align: 'left'}, + {field: 'nickname', title: __('Nickname')}, + {field: 'flag', title: __('Flag'), formatter: Table.api.formatter.flag}, + {field: 'weigh', title: __('Weigh')}, + {field: 'status', title: __('Status'), formatter: Table.api.formatter.status}, + {field: 'operate', title: __('Operate'), events: Table.api.events.operate, formatter: Table.api.formatter.operate} ] ] }); @@ -39,10 +39,15 @@ define(['jquery', 'bootstrap', 'backend', 'form', 'table'], function ($, undefin }, add: function () { - Form.api.bindevent($("form[role=form]")); + Controller.api.bindevent(); }, edit: function () { - Form.api.bindevent($("form[role=form]")); + Controller.api.bindevent(); + }, + api: { + bindevent: function () { + Form.api.bindevent($("form[role=form]")); + } } }; diff --git a/public/assets/js/backend/index.js b/public/assets/js/backend/index.js index 1b77de0..082236d 100755 --- a/public/assets/js/backend/index.js +++ b/public/assets/js/backend/index.js @@ -15,6 +15,20 @@ define(['jquery', 'bootstrap', 'backend', 'addtabs', 'adminlte', 'validator'], f e.stopPropagation(); }); + //读取FastAdmin的更新信息 + $.ajax({ + url: 'http://www.fa.com/index/index/news', + type: 'post', + dataType: 'jsonp', + success: function (ret) { + $(".notifications-menu > a span").text(ret.new > 0 ? ret.new : ''); + $(".notifications-menu .footer a").attr("href", ret.url); + $.each(ret.newslist, function (i, j) { + var item = '<li><a href="' + j.url + '" target="_blank"><i class="' + j.icon + '"></i> ' + j.title + '</a></li>'; + $(item).appendTo($(".notifications-menu ul.menu")); + }); + } + }); //切换左侧sidebar显示隐藏 $(document).on("click", ".sidebar-menu li > a", function (e) { diff --git a/public/assets/js/require-table.js b/public/assets/js/require-table.js index ad46192..c8aec94 100644 --- a/public/assets/js/require-table.js +++ b/public/assets/js/require-table.js @@ -41,7 +41,7 @@ define(['jquery', 'bootstrap', 'backend', 'config', 'toastr', 'moment', 'bootstr valign: 'middle', }, config: { - firsttd: 'tbody tr td:first-child', + firsttd: 'tbody tr td:first-child:not(:has(div.card-views))', toolbar: '.toolbar', refreshbtn: '.btn-refresh', addbtn: '.btn-add', -- libgit2 0.24.0