网站二次开发没人做,专业的集团网站开发,阜阳中国建设银行官网站,国人原创wordpress cms模板:hcmsDcat Admin 是一个基于 Laravel-admin 二次开发而成的后台构建工具#xff0c;只需很少的代码即可构建出一个功能完善的高颜值后台系统。支持页面一键生成 CURD 代码#xff0c;内置丰富的后台常用组件#xff0c;开箱即用#xff0c;让开发者告别冗杂的 HTML 代码。 larav… Dcat Admin 是一个基于 Laravel-admin 二次开发而成的后台构建工具只需很少的代码即可构建出一个功能完善的高颜值后台系统。支持页面一键生成 CURD 代码内置丰富的后台常用组件开箱即用让开发者告别冗杂的 HTML 代码。 laravel Dcat Admin 入门应用三Grid 之 Column 福利彩蛋没有好玩的 API 接口上百款免费接口等你来免费 API免费 API 大全
1、数据仓
通过数据仓生成grid数据
?phpnamespace App\Admin\Repositories;use Dcat\Admin\Repositories\EloquentRepository;use App\Models\Draft as DraftModel;class Draft extends EloquentRepository{protected $eloquentClass DraftModel::class;/*** 设置表格查询的字段默认查询所有字段* * return array*/public function getGridColumns(){return [id, title, director, rate, ...];}}
2、控制器
?php.../*** Make a grid builder.** return Grid*/protected function grid(){return Grid::make(new Draft([content function ($query) {$query-where(draft_id, , 5);}]), function (Grid $grid) {$grid-column(id)-sortable();// 第一列显示id字段并将这一列设置为可排序列$grid-column(id, ID)-sortable();// 第二列显示title字段由于title字段名和Grid对象的title方法冲突所以用Grid的column()方法代替$grid-column(title);// 第三列显示为describe字段$grid-column(describe);$grid-column(status, 有效)-display(function ($status) {return $status ? 是 : 否;});// 下面为三个时间字段的列显示$grid-column(release_at);$grid-column(created_at);$grid-column(updated_at);});}3、Grid -column扩展使用
1可排序帮助提示top tips
/*** Make a grid builder.** return Grid*/protected function grid(){//定义Tips触发classTooltip::make(.td-top-copy)-purple()-top();//如果需要使用关联关系预加载的话可以如下初始化预加载可以避免n1查询但是不可以对预加载数据进行分页处理$drat new Draft([//作者信息预加载authorInfo function ($query) {//条件过滤预加载信息$query-where(status, 1);},//内容预加载content function ($query) {$query-where(draft_id, , 5);}];return Grid::make($drat), function (Grid $grid) {//针对数据仓调用原生model,同时添加查询条件过了需要的数据$grid-model()-where(status, 1)-orderByDesc(created_at);//自定义返回样式作者Id添加帮助提示自定义消息输出鼠标hover后弹出title弹出$grid-column(author_id)-help(这里是描述)-display(function () {return a data-title . $this-author_id . classtd-top-copy btn-white btn . $this-author_id . /a nbsp;nbsp;nbsp;;});//关联关系显示作者昵称$grid-column(authorInfo.nick_name)//根据状态的属性显示不同的样式$grid-column(status)-using([1成功,2失败])-label([default primary,1success,2danger]);//显示下拉框编辑根据状态附加select框进行编辑$grid-column(changeStatus, 管理员操作)-display(function () {if (in_array($this-status, [1, 3])) {return $this-status;}return ---;})-if(function ($column) {if (in_array($this-status, [1, 3])) {return $column-select([1 通过,3 驳回,]);}});//如需自定义处理显示可以在display()方法里进行处理$grid-column(authorInfo.nick_name, admin_trans_field(nick_name))-display(function ($nickName) {return span classcopy-author-id $nickName 获取Id.$this-author_info[id]./span;});//标题如果长度超过20显示...注意中文和html实体标签处理//补充说明在columndisplay的闭包函数里面可以通过this获取当前row的其他属性值$grid-column(title, admin_trans_field(article_title))-display(function ($title) {//注意中文和html实体标签处理$subTitle $title Helper::htmlEntityEncode($title);if (mb_strlen($title) 20) {$subTitle mb_substr($subTitle, 0, 20) . ... ;}return a stylecolor:orange; target _blank href/details/ . $this-article[id] . .$subTitle . /a;});//一、弹窗展示文章内容信息$grid-column(markdown)-modal(function ($modal) {//设置弹窗标题$modal-title(标题: . $this-title);//弹窗内容return div stylepadding:10px 10px 0pre{$this-content[markdown]}/pre/div;}); //二、弹窗展示文章内容信息如果需要选择性的附加弹窗效果可以使用if//这里是仅当内容长度大于20的时候才通过弹窗显示更多的内容$grid-column(content)-if(function ($column) {if (mb_strlen($this-content) 20) {return $column-modal(admin_trans_field(content), function () {return CommentReview::make([content Helper::htmlEntityEncode($this-content),]);});}}); });}福利彩蛋没有好玩的 API 接口上百款免费接口等你来免费 API免费 API 大全