67 formas de criação de um painel administrativo com o Symfony EasyAdminBundle
Lista – O que é e para que serve?
Uma lista é uma exibição em formato tabular de registros. No contexto de um painel administrativo, a lista é uma das principais funcionalidades, pois é através dela que os usuários podem visualizar, pesquisar, filtrar e ordenar as informações gerenciadas pelo sistema.
Como criar uma lista com o EasyAdminBundle?
Depois de configurar as entidades do seu sistema no EasyAdminBundle, criar uma lista é muito fácil. Basta definir as propriedades da entidade que deseja exibir, bem como as opções de pesquisa, filtro e ordenação. Veja o exemplo abaixo:
easy_admin:
entities:
UserRepository:
class: AppEntityUser
list:
fields:
- { property: 'id', label: 'ID' }
- { property: 'name', label: 'Nome' }
- { property: 'email', label: 'E-mail' }
- { property: 'createdAt', label: 'Data de criação' }
search:
fields: ['name', 'email']
filters:
- { property: 'createdAt', type: 'date' }
sorting:
field: 'createdAt'
direction: 'DESC'
No exemplo acima, definimos a entidade UserRepository, que representa uma tabela do banco de dados contendo informações de usuários. Em seguida, definimos as propriedades que queremos exibir na lista: o ID, o nome, o e-mail e a data de criação.
Também definimos as opções de pesquisa, filtro e ordenação. No caso da pesquisa, configuramos para buscar nos campos “name” e “email”. Já no caso do filtro, configuramos para permitir apenas datas no campo “createdAt”. Por fim, na ordenação, definimos que a lista deve ser exibida em ordem decrescente de criação.
Como personalizar a exibição de uma lista?
O EasyAdminBundle oferece diversas opções para personalizar a exibição de uma lista. Algumas delas são:
- Definir campos virtuais, que não existem na entidade, mas que são calculados dinamicamente;
- Definir um template customizado para a coluna de uma propriedade;
- Definir um callback para executar uma ação quando uma propriedade for renderizada;
- Definir uma coluna com botões de ação customizados;
- Definir uma coluna com checkboxes para permitir seleção de múltiplos registros;
Para mais informações sobre essas opções, consulte a documentação oficial do EasyAdminBundle.