Download the PHP package arandu/laravel-mui-admin without Composer
On this page you can find all versions of the php package arandu/laravel-mui-admin. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download arandu/laravel-mui-admin
More information about arandu/laravel-mui-admin
Files in arandu/laravel-mui-admin
Package laravel-mui-admin
Short Description A highly customizable CMS for Laravel, built with React and Material UI.
License MIT
Informations about the package laravel-mui-admin
Laravel MUI Admin
Um CMS orientado a modelos, altamente personalizável para Laravel 8.x, com um conjunto de ferramentas fullstack para desenvolvimento ágil de aplicações web.
Construído com Material-UI e React
English docs
Nota: Este pacote ainda está em desenvolvimento. Podem ocorrer mudanças significativas na API até a versão 1.0.0.
Template
Disponibilizamos um template para iniciar um projeto com este pacote. [Clique aqui]({{LINK AQUI}})
Caso deseje realizar a instalação manual, veja a documentação de instalação
Uso Básico
- Criar os papéis iniciais
- Criar um novo usuário administrador
- Renderizando o painel administrativo
- Preparando um modelo para o painel administrativo
- Adicionando o trait
HasAdminSupport
- Os modelos eloquent do frontend
- Personalização
- Personalize as colunas da página do modelo
- Adicionando campos personalizados
- Adicionando abas personalizadas
- Adicionando pesquisa personalizada
- Adicionando o trait
Criar os papéis iniciais
Para criar os papéis iniciais, adicione o seeder RolesAndPermissionsSeeder
ao arquivo DatabaseSeeder
. Exemplo:
Em seguida, execute as classes de seeder com o seguinte comando:
Alternativamente, você pode executar o seguinte comando para semear apenas as funções e permissões:
Criar as permissões para novos modelos
Durante o desenvolvimento, você pode criar novos modelos que precisam de permissões para serem acessados. Para atualizar a lista de permissões da aplicação, execute o seguinte comando:
Criar um novo usuário administrador
Para criar um novo usuário administrador, execute o seguinte comando:
Este comando perguntará por um nome de usuário, e-mail e senha, e criará um novo usuário com o papel de admin
.
Preparando um modelo para o painel administrativo
Para preparar um modelo para o painel administrativo, você precisa adicionar o trait HasAdminSupport
a ele. Esse trait adicionará os métodos necessários ao modelo para fazê-lo funcionar com o painel administrativo.
Além disso, você deve ter a propriedade $fillable
configurada no modelo. Esta propriedade é usada para informar ao frontend quais campos podem ser preenchidos, e também é usada para renderizar as colunas da página do modelo. Você pode personalizar os campos e as colunas, conforme veremos adiante.
Adicionando o trait HasAdminSupport
Após adicionar o trait, deve haver uma rota correspondente ao nome do modelo em plural e snake case. Por exemplo, se o modelo se chama Post
, a rota deve ser /posts
. Se o modelo se chama BlogPost
, a rota deve ser /blog_posts
. Adicione um link no menu lateral alterando o arquivo resources/js/src/views/Layouts/Admin.jsx
:
Observe que a função route
é usada para obter um caminho de rota a partir de seu nome. Após adicionar o trait HasAdminSupport
ao modelo, as seguintes rotas estão disponíveis:
- WEB:
admin.{model_name}.index
: A página do modelo
- API:
admin.{model_name}.list
: Obter uma lista paginada de modelosadmin.{model_name}.create
: Criar um novo modeloadmin.{model_name}.item
: Obter um modelo por idadmin.{model_name}.update
: Atualizar um modelo por idadmin.{model_name}.delete
: Excluir um modelo por id
Se o modelo tiver o trait SoftDeletes
, as seguintes rotas também estão disponíveis:
- API:
admin.{model_name}.restore
: Restaurar um modelo por idadmin.{model_name}.forceDelete
: Excluir definitivamente um modelo por id
Se você quiser personalizar as rotas, pode fazê-lo adicionando os seguintes métodos ao modelo:
Nota sobre relacionamentos
Devido aos modelos de frontend, este pacote verifica cada relacionamento que existe no modelo "backend". Para fazer isso funcionar, os métodos de relacionamento devem ser definidos no modelo com dicas de tipo. Por exemplo:
Isso desbloqueará algumas funcionalidades, como sincronização de relacionamentos, e também permitirá que o frontend carregue os modelos relacionados automaticamente.
Personalização
Personalizar as colunas da página do modelo
Por padrão, o componente RepositoryIndex
renderizará uma tabela com colunas correspondentes à propriedade $fillable
do modelo. Se você quiser personalizar as colunas, deve criar uma classe em seu projeto em app/Admin/Tables/{$model}Table.php
. Por exemplo, se o modelo é chamado Post
, a classe deve ser chamada PostTable
.
A classe criada deve ter pelo menos um método chamado default
, que será usado quando nenhum outro método for especificado. Por exemplo, se você quiser personalizar as colunas para o modelo Post
, deve criar uma classe em app/Admin/Tables/PostTable.php
com o seguinte conteúdo:
Caso deseje criar uma classe em outro local, ou com outro nome, será necessário adicionar a propriedade
$tableClass
no modelo. Exemplo:protected $tableClass = 'App\\Tables\\PostTableWithCustomName';
Adicionando campos personalizados
Por padrão, o componente RepositoryIndex
renderizará um formulário com campos correspondentes à propriedade $fillable
do modelo, e todos os campos serão do tipo text
. Se você quiser personalizar os campos, deve criar uma classe em seu projeto em app/Admin/Forms/{$model}Form.php
. Por exemplo, se o modelo é chamado Post
, a classe deve ser chamada PostForm
. Esta classe deve estender a classe Arandu\LaravelMuiAdmin\Contracts\Form
e deve ter pelo menos um método chamado default
, que será usado quando nenhum outro método for especificado.
Caso deseje criar uma classe em outro local, ou com outro nome, será necessário adicionar a propriedade
$formClass
no modelo. Exemplo:protected $formClass = 'App\\Forms\\PostFormWithCustomName';
Adicionando abas personalizadas
As abas que aparecem na página devem ser personalizadas no frontend através do registro de um filtro usando o método addFilter
do pacote @arandu/laravel-mui-admin
.
Para lidar com as consultas das abas, sobrescreva o método scopeWhereBelongsToTab
no modelo. Por exemplo, se você quiser adicionar uma aba para mostrar apenas as postagens que estão publicadas, você deve adicionar o seguinte método ao modelo Post
:
Por padrão o componente RepositoryIndex
irá renderizar uma aba com o nome all
que mostrará todos os modelos. Se o modelo possuir o trait SoftDeletes
, uma aba com o nome trashed
também será renderizada. Não esqueça de lidar com essas abas no método scopeWhereBelongsToTab
.
Adicionando busca
A implementação padrão da pesquisa realiza uma consulta utilizando "LIKE"
em todos os campos da propriedade $fillable
. Se você quiser personalizar a pesquisa, deve sobrescrever o método scopeSearch
no modelo. Por exemplo, se você quiser pesquisar apenas pelo título ou pelo nome do autor, você deve adicionar o seguinte método ao modelo Post
:
Aprofundando-se
Para mais informações, aguarde a documentação completa. Por enquanto, você pode verificar o código-fonte deste pacote e do pacote (@arandu/laravel-mui-admin
)[https://github.com/AranduTech/react-laravel-mui-admin] para ver o que pode ser feito.
All versions of laravel-mui-admin with dependencies
ext-dom Version *
ext-gd Version *
ext-simplexml Version *
ext-xml Version *
ext-xmlreader Version *
ext-xmlwriter Version *
ext-zip Version *
laravel/ui Version ^4.2
illuminate/filesystem Version ^9.19
illuminate/support Version ^9.19
illuminate/console Version ^9.19
illuminate/routing Version ^9.19
illuminate/database Version ^9.19
illuminate/http Version ^9.19
illuminate/macroable Version ^9.19
spatie/laravel-permission Version ^6.0
phpoffice/phpspreadsheet Version ^1.29