使用Laravel-admin后台,Laravel-admin已经集成了很多前端组件,但是在手册中也没有发现能够展示相册的插件,而本人比较喜欢Layer弹窗的插件所以想使用Layer来进行效果展示

 

通读手册找到了Laravel-admin是可以自己定义组件的。但是本人功力不够。看不懂。。。。

还好除了自定义组件之外还可以进行前端资源引入

  1. 关于前端资源问题
  2. 如果需要使用自己的前端文件,可以在app/Admin/bootstrap.php中引入:
  3. Admin::css('path/to/your/css');
  4. Admin::js('path/to/your/js');

上面引入自Laravel-admin手册中常见问题 点击查看链接 http://laravel-admin.org/docs/#/zh/qa

所以就将Layer资源下载到本地,然后放入Laravel中的public目录下 本人版本下载3.1

  1. 然后在app/Admin/bootstrap.php中引入
  2. use Encore\Admin\Facades\Admin;
  3. Admin::js('/layer-v3.1.1/layer-v3.1.1/layer/layer.js');

本人下载layer-v3.1.1版本,所以此处目录请根据自己响应修改

然后之后就可以在控制器中直接使用layer的功能了

下面以本人所做layer相册功能为例

 

  1. 首先添加弹出相册功能按钮
  2. $grid->actions(function ($action) {
  3. $action->append('<a href="' . LayerPhoto(url('admin/scenic/get/photo'),1) . '"><i class="fa fa-eye"></i>查看相册</a>');
  4. });

上面代码中LayerPhoto为自定义的函数

  1. /*
  2. * LayerPhoto layer相册使用
  3. * $url 获取数据的地址
  4. * url地址返回格式 :
  5. * [
  6. * 'title' => '',
  7. * 'id' => 1,
  8. * 'start' => 0
  9. [
  10. 'alt' => '图片标题1',
  11. 'src' => '图片地址'
  12. ],
  13. [
  14. 'alt' => '图片标题2',
  15. 'src' => '图片地址'
  16. ],
  17. [
  18. 'alt' => '图片标题3',
  19. 'src' => '图片地址'
  20. ],
  21. ]
  22. *
  23. * $type 相册的弹出样式
  24. */
  25. function LayerPhoto($url,$type = 1)
  26. {
  27. $script = "javascript:$.getJSON('{$url}',function(json){layer.photos({photos: json,anim :{$type}});});"; //此处不能分行显示 必须不能存在空格
  28. return $script;
  29. }

至于自定义函数功能解释

  1. 首先建立函数PHP文件 app/自定义目录/自定义文件名.php
  2. 在此文件中写入自定义函数
  3. 然后在 composer.json中的autoload里面添加或者修改files
  4. "autoload": {
  5. ···
  6. "psr-4": {
  7. "App\\": "app/"
  8. },
  9. "files":[
  10. "app/自定义目录/自定义文件名.php"
  11. ]
  12. },
  13. 然后执行
  14. composer dump-autoload即可

 

之后便可以显示出layer相册功能了

其他Layer弹窗功能一样处理即可

 

以上是我自己的想法,也可以实现layer的弹窗功能,不知道是否有更加便捷的方式可以实现,如果有希望能留言告知一下,万分感谢

 

版权声明:本文为Gasg原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/Gasg/p/8966615.html