帮助函数

未匹配的标注

帮助函数

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 网站上。

上一篇 下一篇
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
贡献者:3
讨论数量: 0
发起讨论 查看所有版本


暂无话题~