帮助函数

未匹配的标注

帮助函数#

admin_redirect#

Since v2.1.7-beta

跳转到指定 url,此函数可用于代替 redirect 函数,支持 pjax 以及 ajax 请求

// 不需要添加admin前缀
return admin_redirect('auth/users');

// 如果想要跳转到非admin前缀的链接,需要传递完整url链接
return admin_redirect(url('users'));

admin_exit#

admin_exit 用于中断程序执行,并响应数据到浏览器进行显示,用于代替 exitdie,下面简单介绍下用法

用法 1,返回 Content 布局对象,此用法可用于返回错误信息显示到前端

use Dcat\Admin\Widgets\Alert;
use Dcat\Admin\Layout\Content;

// 中断程序,并显示自定义页面到前端
admin_exit(
    Content::make()
        ->title('标题')
        ->description('描述')
        ->body('页面内容1')
        ->body(Alert::make('服务器出错了~', 'Error')->danger())
);

效果如下

用法 2,返回 json 格式数据,此用法经常用于表单提交数据的 api 请求拦截,或 Actionapi 请求拦截

use Dcat\Admin\Admin;

admin_exit(
    Admin::json()
        ->success('成功了')
        ->refresh()
        ->data([
            ...
        ])
);

// 当然也可以直接响应数组
admin_exit([
   ...
]);

用法 3,直接响应 Response 对象或字符串

admin_exit('Hello world');

admin_exit(response('Hello world', 500));

admin_color#

获取内置颜色,关于主题颜色更多用法请参考主题 - 颜色章节

// 获取主题色的三种方式
$primary = admin_color('primary');
$primary = admin_color()->get('primary');
$primary = admin_color()->primary();

$color = admin_color();
$color->lighten('primary', 10);

admin_js#

可以在任意位置引入 js 文件,更多用法参考静态资源章节

admin_js(['@admin/xxx.js']);

admin_css#

可以在任意位置引入 css 文件,更多用法参考静态资源章节

admin_css(['@admin/xxx.css']);

admin_require_assets#

可以在任意位置引入静态资源组件,更多用法参考静态资源章节

admin_require_assets(['@datime']);

admin_path#

获取 Dcat Admin 安装的应用路径,默认目录是 app/Admin

$bootstrap = admin_path('bootstrap.php');

admin_url#

获取 Dcat Admin 应用的路由完整 url:

// 返回: http://localhost/admin/auth/users
$url = admin_url('auth/users');

admin_route#

根据别名获取 URL

app/Admin/routes.php 路由注册如下

Route::group([
    'prefix'        => config('admin.route.prefix'),
    'namespace'     => config('admin.route.namespace'),
    'middleware'    => config('admin.route.middleware'),
], function (Router $router) {
    // 设置别名
    $router->resource('users', 'UserController', [
        'names' => ['index' => 'my-users'],
    ]);

});

根据别名获取 URL

// 获取url
$url = admin_route('users');

// 获取url并附带请求参数
$url = admin_route('users',['id'=>1]);

// 判断路由
$isUsers = request()->routeIs(admin_route_name('users'));

admin_base_path#

获取 Dcat Admin 应用的路由路径:

// 返回: /admin/auth/users
$path = admin_base_path('auth/users');

admin_toastr#

在页面刷新后弹出一个 toastr 提示窗,参数:

  • $message 提示窗内容
  • $type 提示窗类型,默认 success,支持 successinfowarningerror
  • $options toastr 配置参数
admin_toastr('更新成功', 'success');

admin_success#

在页面刷新后在页面顶部显示一个成功消息:

admin_success('标题', '成功了');

admin_error#

在页面刷新后在页面顶部显示一个错误消息:

admin_error('标题', '失败了');

admin_warning#

在页面刷新后在页面顶部显示一个警告消息:

admin_warning('标题', '警告');

admin_info#

在页面刷新后在页面顶部显示一个提示消息:

admin_info('标题', '内容');

admin_asset#

获取静态资源的完整链接:

{tip} 此函数支持别名.

// 引入css
<link rel="stylesheet" href="{{ admin_asset("@admin/dcat-admin/main.min.css") }}">

// 引入js
<script src="{{ admin_asset('@admin/dcat-admin/main.min.js')}}"></script>

admin_trans_field#

翻译当前控制器的字段,控制器名称去除 Controller 后缀之后再转化为小写中划线就是语言包的名称,如:控制器名称为 UserProfileController,则对应的语言包名称为 user-profile.php

{tip} 如果当前控制器对应的语言包中不存在该字段翻译,则会去公共翻译文件 global.php 中查找。

$name = admin_trans_field('name');
$createdAt = admin_trans_field('created_at');

语言包内容如下:

return [
    'fields' => [
        'name' => '名称',
        'created_at' => '创建时间',
    ],
];

admin_trans_label#

翻译当前控制器的自定义内容,控制器名称去除 Controller 后缀之后再转化为小写中划线就是语言包的名称,如:控制器名称为 UserProfileController,则对应的语言包名称为 user-profile.php

{tip} 如果当前控制器对应的语言包中不存在该字段翻译,则会去公共翻译文件 global.php 中查找。

$user = admin_trans_label('User');

语言包内容如下:

return [
    'labels' => [
        'User' => '管理员',
    ],
];

admin_trans_option#

翻译当前控制器的字段选项值,控制器名称去除 Controller 后缀之后再转化为小写中划线就是语言包的名称,如:控制器名称为 UserProfileController,则对应的语言包名称为 user-profile.php

如果当前控制器对应的语言包中不存在该字段翻译,则会去公共翻译文件 global.php 中查找。

$status = admin_trans_option(1, 'status');

语言包内容如下:

return [
    'options' => [
        'status' => [
            1 => '启用',
            0 => '禁用'
        ],
    ],
];

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
贡献者:3
讨论数量: 0
发起讨论 查看所有版本


暂无话题~