filtrar la salida de browse en un controlador StandardForm

edited septiembre 2008 in Principiantes
Hola a todos.

Estaba intentando filtrar la salida de browse para que saliera solo los registros devueltos por find(). Pero no me salgo con la mia.

He intentado esto:
       /**
       * Filtrar la salida del browse
       **/

      public function filtrar() {
         $this->set_form_caption('filtro');
         $this->Articulos->find('condition: revistas_id=2');
         return $this->route_to('controller: articulos','action: browse');

      }


Pero soy novato en esto de programación orientada a objetos.

Podríais echarme una mano.

Gracias.

Comentarios

  • Fijate los formularios StandardForm tienen un comportamiento muy definido y hasta el momento no son muy flexible, el error que comete muchos Programador es que piensan que este componente del framework es muy inteligente recuerda que el se crea a partir de la metadata de una tabla, lo ideal en tu caso es que no utilices este componente ya que tienes un nivel de lógica que quizás manejarlo con StandardForm te pueda dar dolor de cabeza...
  • No dejo de pensar que es una pena no poderlo hacer.

    He creado una lista sobre una búsqueda realizada por el usuario (siguiendo el ejemplo de paginador que hay en foro) , que permite enlazar los resultados con el formulario standarForm de este modo.
    <table>
    <tr>
       <th>Revista</th>
       <th>Articulo</th>
       <th>Ejemplar</th>
    </tr>
    <?php foreach($page->items as $p): ?>
    <tr>
       <td><?= link_to("articulos/query?fl_revistas_id=$p->revistas_id",h($p->revista)) ?></td>
       <td><?= link_to("articulos/query?fl_id=$p->id",h($p->articulo)) ?></td>
       <td><?= link_to("articulos/query?fl_revistas_id=$p->revistas_id&fl_ejemplar=$p->ejemplar",h($p->ejemplar)) ?></td>
    </tr>
    <?php endforeach; ?>
    </table>
    
    <br>
    
    <?php if($page->prev) echo link_to('inicio/lista/prev', 'Anterior') ?>
    <?php if($page->next) echo ' | ' . link_to('inicio/lista/next', 'Siguiente') ?>
    
    

    Es muy simple y poderoso. una vez tenemos la lista podemos pasar al formulario, pudiendo ver o editar el articulo.

    Me gustaría hacer lo mismo, pero que en vez de presentar un formulario registro x registro hiciera una lista, cuando lo que pedimos no es solo un registro, sino los de un ejemplar en concreto o una revista.

    No se si mi filosofia es equivocada, pero pienso que no debería ser complicado ampliar el formulario standarForm para que aceptase esta posibilidad.

    Podría trabajar en ello si es que mi idea os parece bien.

    Gracias
Sign In or Register to comment.