Notas sobre o generator.yml (admin generator)

By villefilho

Fato sabido que criar seções administrativas em sites é algo desestimulante mas felizmente o symfony nos exime deste fardo.

A criação de uma interface de administração é bem simples e parecida com a geração de um scaffold onde antes (1) cria-se uma aplicação para que seja (2) associado ao “admin” do projeto.
Um vídeo gravado pelos desenvolvedores do symfony demonstra este processo.

Percorrendo os diretórios gerados, resolvi ver como funcionam algumas das diretivas do arquivo generator.yml. Por si só, não há muito o que fazer mas depois de analisar alguns dos muitos exemplos disponíveis notei algumas características interessantes (leia nos comentários):

generator.yml:

generator:
  class:
    sfPropelAdminGenerator
    param:
      model_class:
        MailGroup
          theme:
            default
              fields:
              name:           { name: Nome } ## Mudando o nome de exibicao para esse campo

      ## Criado um metodo getUserName() em lib/model/BaseMailGroup.php      user_name:      { name: Usuário }

      created_at:     { name: Criação }

 list:   title:          Grupos de Envio   layout:         tabular   peer_method:    doSelectJoinUser ## Agrega os resultados das chaves estrangeiras   display:        [=name, created_at, user_name] ## Exibir esses campos   object_actions: ## Icones para edicao e remocao     _edit:        ~     _delete:      ~   max_per_page:   5 ## Paginacao (=alegria)

   ## Exibe uma "janelinha" para aplicacao de   ## filtos na tela principal da listagem   filters:        [name, created_at, user_id]

No exemplo mostrado, apenas a seção de listagem ( list ) foi configurada mas é possível incluir outras como edit.

“Existem várias maneiras de customização mais ou menos complexas, cada caso deve ser pensado de modo que não inviabilize uma futura manutenção de seu projeto depois de meses já em produção.”

Deixe uma resposta