添加资源文件

资源文件是通过类统一管理的,可实例化Resource类,并且调用其方法即可.

#project\app\admin\controller\Category.php

namespace app\admin\controller;
use easyadmin\app\libs\Resource;
use easyadmin\app\libs\PageList;
use easyadmin\app\libs\PageForm;
use easyadmin\app\libs\PageShow;

class Category extends \easyadmin\controller\Admin
{
    protected $jsFiles = []; //添加JS 文件
    protected $cssFiles = [];//添加 css 文件

    /**
     * 定义列表 , 在列表页面中 添加资源文件
     * @param PageList $page
     */
    protected function configList(PageList $page)
    {
        //获取资源管理类
        $resource = Resource::getInstance();
        $resource->appendJsFile('/js/my.js');   //加载 public/js/my.js 文件
        $resource->appendCssFile('/css/my.css');//加载 public/css/my.css 文件

        $page->addField('name', '分类名称', ListText::class, [
            'jsFiles'=>['/test.js'],  // 加载 public/test.js
            'cssFiles'=>['/test.css'],// 加载 public/test.css
        ]);
    }

    /**
     * 配置表单 , 在表单页面中添加资源文件
     * @param PageForm $page
     */
    protected function configFormField(PageForm $page)
    {
        //获取资源管理类
        $resource = Resource::getInstance();
        $resource->appendJsFile('/js/my.js');   //加载 public/js/my.js 文件
        $resource->appendCssFile('/css/my.css');//加载 public/css/my.css 文件

        $page
            ->addField('name', '分类名称', FormText::class,[
                'jsFiles'=>['/test.js'],  // 加载 public/test.js
                'cssFiles'=>['/test.css'],// 加载 public/test.css
            ]);
    }

    /**
     * 查看详情配置 , 在详情页面中添加资源文件
     * @param PageShow $page
     */
    protected function configShow(PageShow $page)
    {
        //获取资源管理类
        $resource = Resource::getInstance();
        $resource->appendJsFile('/js/my.js');   //加载 public/js/my.js 文件
        $resource->appendCssFile('/css/my.css');//加载 public/css/my.css 文件

        $page
            ->addField('name', '分类名称', ListText::class,[
                'jsFiles'=>['/test.js'],  // 加载 public/test.js
                'cssFiles'=>['/test.css'],// 加载 public/test.css
            ]);
    }

        /**
     * 定义列表
     * @param PageList $page
     */
    protected function configList(PageList $page)
    {
        //操作按钮 添加资源文件
        $page->addAction('查看', 'show', [
            'jsFiles'=>['/test.js'],  // 加载 public/test.js
            'cssFiles'=>['/test.css'],// 加载 public/test.css
        ]);

        //定义页面的添加按钮
        $addBtn = new Btn();
        $addBtn->setLabel('添加');
        $addBtn->setUrl('add');
        $addBtn->setIcon('layui-icon layui-icon-add-1');
        $page->setActionAdd($addBtn);
    }

    ...
    ...
    # 可以在任意地方活动资源管理类  $resource = Resource::getInstance();  并且调用方法添加 资源文件
    # 按钮, 字段 都可以在 options 选项中 传入  jsFiles , cssFiles  加载自己独有得 css 或者 js

}

        

文件会在项目的根目录中查找, 如果没有修改 thinkphp 的运行配置; js/my.js 的存放目录为 project/public/js/my.js

全局添加资源文件

a.重写layout页面,重写规则

#project\app\admin\views\category\my_page.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

   1. 完全重写;
   2. 也可以复制 layout.html 进行修改

</body>
</html>

b. 定义一个 Admin 类,在Admin 类中添加资源文件 ,然后其他页面都继承这个类

#project\app\admin\controller\Admin.php

use easyadmin\controller\Admin as easyAdmin;

class Admin extends easyAdmin
{
    protected $jsFiles = []; //添加JS 文件
    protected $cssFiles = [];//添加 css 文件
}


#project\app\admin\controller\Category.php
class Category extends Admin
{

}