Como podemos adicionar Widgets no Back Pack Laravel Admin

Sep 23 2020

no painel de administração do Back Pack Laravel, preciso adicionar um widget na página CRUD.

na página acima, quero adicionar esses widgets.

Respostas

2 tabacitu Sep 29 2020 at 16:56

Como uma alternativa à resposta de Wesley, na Mochila 4.1 você pode adicionar widgets antes / depois das migalhas de pão empurrando-os para a seção before_breadcrumbsou after_breadcrumbs, de CrudController::setupListOperation().

Por exemplo, veja como você pode adicionar um widget DIV que contém vários widgets:

Widget::add()->to('before_breadcrumbs')
             ->type('div')
             ->class('row col-md-12 ml-1')
             ->content([
                   [], // registered users widget 
                   [], // vehicles widget
                   [], // journeys widget
                   [], // trips widget
]);

Obviamente, você também pode enviar cada widget individualmente para a mesma pilha.

1 WesleySmith Sep 23 2020 at 13:07

A resposta de Tabacitu abaixo é melhor, você deve usá-la.


Resposta original ..

Você pode fazer isso copiando vendor/backpack/crud/src/resources/views/crud/list.blade.phpa resources/views/vendor/backpack/crud/list.blade.phpe adicionando o conteúdo que gostaria acima da breadcrumbsseção do modelo

@extends(backpack_view('blank'))

<!-- add your widget content here -->

@php
  $defaultBreadcrumbs = [ trans('backpack::crud.admin') => url(config('backpack.base.route_prefix'), 'dashboard'), $crud->entity_name_plural => url($crud->route), trans('backpack::crud.list') => false, ]; // if breadcrumbs aren't defined in the CrudController, use the default breadcrumbs $breadcrumbs = $breadcrumbs ?? $defaultBreadcrumbs;
@endphp

Se você gostaria de adicionar conteúdo apenas para certas páginas CRUD ou fazer a mudança de conteúdo com base na página crud atual, você poderia estender o CrudPanel e CrudControllers para conseguir isso ou você poderia usar macros para adicionar funções de forma programática ao CrudPanel existente para controlar o conteúdo do widget