扩展包中的模板文件有问题,非侵入式修正方法 | laravel china 社区-380玩彩网官网入口

示例问题描述

在dcat-admin 中 grid 使用switch 修改失败时。前端展示的状态是成功的。

laravel

正确的方式:应该是操作返回失败,前端展示也不能成功。

非侵入式去修改 扩展包里面的源代码,而是用自己定义的模板文件去覆盖。

  • 在 switch.blade.php 的判断中添加代码
    if (d.status) {
                      dcat.success(msg);
                      reload && dcat.reload();
                  } else {
                      dcat.error(msg);
                      // 以下修正追加代码
                      that.prop('checked', !that.is(':checked'));
                      that.parent().find('.switchery').remove();
                      new switchery(that[0], that.data());
                  }

需要在 app/providers/appserviceprovider.phpboot 添加如下代码

// 自己定义的模板文件
        $customview = resource_path('views/switch.blade.php');
        if (file_exists($customview)) {
            view::composer('admin::grid.displayer.switch', function ($view) {
                // 重新指定视图路径
                $view->setpath(resource_path('views/switch.blade.php'));
            });
        }
  • 完整示例

namespace app\providers;
use illuminate\support\serviceprovider;
use illuminate\support\facades\view;
class appserviceprovider extends serviceprovider
{
    /**
     * register any application services.
     */
    public function register(): void
    {
        //
    }
    /**
     * bootstrap any application services.
     */
    public function boot(): void
    {
        // 自己定义的模板文件
        $customview = resource_path('views/switch.blade.php');
        if (file_exists($customview)) {
            view::composer('admin::grid.displayer.switch', function ($view) {
                // 重新指定视图路径
                $view->setpath(resource_path('views/switch.blade.php'));
            });
        }
    }
}

这个问题在plus版中,已经修正。

dcat-admin 并未停止不前,plus版 持续更新 保持活力

dcat-plus admin (plus版)沿用 dcat-admn 最新代码,并让dcat-admin 保持活力。已支持到laravel11,并新增多个组件。

加群学习交流

微信:q3664839 (加微信 后拉你进入微信技术交流群)

本作品采用《cc 协议》,转载必须注明作者和本文链接
dcat-admin (plus版)是汇聚filament,laravel-admin , dcat-admin 优点于一身的基于laravel bootstrap 的极速开发框架
你将学到如 restful 设计风格、postman 的使用、oauth 流程,jwt 概念及使用 和 api 开发相关的进阶知识。
我们将带你从零开发一个项目并部署到线上,本课程教授 web 开发中专业、实用的技能,如 git 工作流、laravel mix 前端工作流等。
讨论数量: 3

可以考虑使用官方介绍的: resource/view/vendor/xxx-扩展名/switch.blade.php 修改

1天前
(楼主) 1天前

战狼 去缅北回来了?

22小时前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
dcat-plus admin @ 速码邦
文章
30
粉丝
47
喜欢
165
收藏
142
排名:457
访问:2.0 万
博客标签
社区赞助商
网站地图