Filtros

Olá pessoal,

Estava a tempos procurando um framework que me agrada-se enfim no final fiquei com duas opçoes symfony e yii, me parece que yii tem uma curva menor e pela rapidez que promete resolvi investir.

Estou ainda nos passos iniciais, criei uma aplicação de exemplos uns crud’s e dei uma brincada com “a coisa”.

Agora vou fazer uma aplicação pra meu uso e fiquei com uma dúvida, como criar filtros para as listagens geradas nos cruds?

Como assim?

Tipo esse exemplo do symfony

http://www.symfony-project.org/jobeet/1_2/Doctrine/en/12

Mais precisamente a imagem abaixo.

Pelo link, vc ta procurando um utilitário pra gerar os filters automáticos pra vc.

Infelizmente ainda não tem.

Mas implementar filtros de pesquisa não é nada difícil. Eu estou implementando da seguinte forma:

Crio um formulário dentro dum div (Só pra efeitos de melhor controle) na view que quero a pesquisa, com um botão que faz requisição via ajax ao servidor, rederizando o div da grid.

Um exemplo mais prático:




 <?php echo  Chtml::form(); ?>




<div id='dvFilter'>

  <div class="simple">

     <?php echo  CHtml::label('Nome', 'filter[name]'); ?>

     <?php echo  CHtml::textField('filter[name]', '',array('size'=>30,'maxlength'=>30)); ?>

  </div>


  <div class="simple">

     <?php echo  CHtml::label('CPF', 'filter[cpf]'); ?>

      <?php echo  CHtml::textField('filter[cpf]', '',array(); ?>

   </div>


  <?php echo  Chtml::ajaxButton('Filtrar', 'Endereço do Controller', array('update'=>'dvGrid')) ?>


</div>

 <?php echo  CHtml::endForm(); ?>


<div id='divGrid>


   Seu Grid aqui


</div>




Deve ter algumas coisas erradas no código acima. Até pq fiz tudo de cabeça(To sem fonte, sem ide e sem php hoje, haha). Mas acho que já dá pra ter uma idéia.

Eu também sigo a linha de pensamento do Daniel A. Bastos

A única diferença é que eu criei um arquivo especifico pra view e chamo ele com o renderPartial.

Mas a idéia é basicamente a mesma.

Eu estive pensando a mesma coisa atualmente. Justamente pra poder aproveitar o filter em algum outro lugar necessário :)

existe uma extensão muito boa para filtrar as listagens: datafilter

http://www.yiiframework.com/extension/datafilter/

tem filtros e pesquisas (é semelhante ao screenshoot do symfony que o dlemes colocou).

Valeu Darkfly.

Ainda não testei mas valeu pela dica, assim que precisar implementar um filtro novo vou me lembrar disso. :D