Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

paginacion y MVC

Estas en el tema de paginacion y MVC en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buenas..., estoy buscando informacion sobre como paginar en mvc y no he encontrado casi nada de información todo sobre paginación que encontre es la comun ...
  #1 (permalink)  
Antiguo 24/06/2008, 19:01
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 6 meses
Puntos: 43
paginacion y MVC

Buenas..., estoy buscando informacion sobre como paginar en mvc y no he encontrado casi nada de información todo sobre paginación que encontre es la comun pero no implementada en MVC, quise implementar los paginadores comunes pero no termino de entender que parte va en el modelo, cual en el controlador y cual en la vista.

Si alguien tiene un ejemplo o me puede guiar se lo agradeceria mucho.

salu2
  #2 (permalink)  
Antiguo 24/06/2008, 20:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: paginacion y MVC

Hola destor77,

Creo estas mezclando dos conceptos que no debes de mezclar, ya que si entiendes el concepto de MVC, sabras que la separación de capas se da por algo, en el caso que quieras "paginar", el modelo te debe de entregar los datos, en el controlador haces el calculo de que paginas necesitas y en la vista solo muestras el set actual que te de el controlador.

Saludos.
  #3 (permalink)  
Antiguo 25/06/2008, 01:53
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: paginacion y MVC

muy cierto Gator.... muy cierto!

PDTA: me gustaría ver el framework que usas, deveras...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 25/06/2008, 08:11
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: paginacion y MVC

Mi framework lo "borre" hace tiempo jeje, ahora es una capa de alto nivel de Zend Framework, bueno no capa, es un toolbox lo llamo yo que ocupa muchos componentes de Zend y brinda otros componentes adicionales, como Forms, DataGrids, Pagination, Security, etc. junto con mi implementación de MVC (Lease mi router/controller/view, no me agrada al 100% el de Zend ).

Saludos.
  #5 (permalink)  
Antiguo 25/06/2008, 09:30
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: paginacion y MVC

genial! GatorV... lastima que a mi no me gusten las monoliticas librerías, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 25/06/2008, 10:02
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: paginacion y MVC

Mmm a que te refieres con monoliticas?
  #7 (permalink)  
Antiguo 25/06/2008, 11:00
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 19 años
Puntos: 32
Respuesta: paginacion y MVC

Cita:
Iniciado por GatorV Ver Mensaje
Mi framework lo "borre" hace tiempo jeje, ahora es una capa de alto nivel de Zend Framework, bueno no capa, es un toolbox lo llamo yo que ocupa muchos componentes de Zend y brinda otros componentes adicionales, como Forms, DataGrids, Pagination, Security, etc. junto con mi implementación de MVC (Lease mi router/controller/view, no me agrada al 100% el de Zend ).

Saludos.
Muy sabio.... cuando lo liberás para que nos retroalimentemos todos como la comunidad que somos?
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
  #8 (permalink)  
Antiguo 25/06/2008, 21:56
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 5 meses
Puntos: 8
Respuesta: paginacion y MVC

Cita:
Iniciado por GatorV Ver Mensaje
Mi framework lo "borre" hace tiempo jeje, ahora es una capa de alto nivel de Zend Framework, bueno no capa, es un toolbox lo llamo yo que ocupa muchos componentes de Zend y brinda otros componentes adicionales, como Forms, DataGrids, Pagination, Security, etc. junto con mi implementación de MVC (Lease mi router/controller/view, no me agrada al 100% el de Zend ).

Saludos.
GatorV ¿cuál ORM estas usando? Encuentro que a Zend Framework le falta más, lo más cercano a ORM es Zend_Db_Table Relationships.

Se hecha de menos algo por el estilo:
Código PHP:
$comment = new Coment();
$comment->tile "Muy buen articulo";
$comment->user"zsamer";

$post = new Post();
$post->tile "Zend Db I parte"
$post->body"texto y más texto ....";
$post->comment $comment//ORM relaciones de objeto al estilo Hibernate, Propel, Doctrine, etc.
$post->save(); 
Hasta donde yo se con Zend Framework no se puede hacer, espero que pronto mejoren el ORM y lo hagan más poderoso.

¿que opinas?

Última edición por zsamer; 25/06/2008 a las 22:14
  #9 (permalink)  
Antiguo 25/06/2008, 21:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: paginacion y MVC

Zend_Db_Table.

Lo encuentro más que suficiente apto para mis necesidades.
  #10 (permalink)  
Antiguo 25/06/2008, 21:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: paginacion y MVC

Cita:
Iniciado por enriqueplace Ver Mensaje
Muy sabio.... cuando lo liberás para que nos retroalimentemos todos como la comunidad que somos?
Jajaja, pues no se, como he comentado no me gusta sacar cosas a la luz sin documentacion
  #11 (permalink)  
Antiguo 25/06/2008, 22:18
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 5 meses
Puntos: 8
Respuesta: paginacion y MVC

GatorV, jajaja que respondes rápido, no alcance a escribir el post completo, léelo dos más arriba.

saludos.
  #12 (permalink)  
Antiguo 25/06/2008, 22:33
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: paginacion y MVC

Mmm si tienes razón no tiene ese soporte pero no veo dificil agregarlo, solo es cuestión de definir correctamente las propiedades de la relación y verificar al llamar a save.

Aunque por lo general esas dos opciones uno las hace en dos operaciones separadas (primero el Post, y luego el Comment), pero por utileria yo creo si se puede realizar.

Saludos.
  #13 (permalink)  
Antiguo 26/06/2008, 03:21
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 19 años
Puntos: 32
Respuesta: paginacion y MVC

Tu código se comenta solo, además, con un PHPdoc simple ya ayuda bastante.

Estoy esperando ansioso tu código
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
  #14 (permalink)  
Antiguo 27/06/2008, 19:19
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 19 años, 4 meses
Puntos: 2
Respuesta: paginacion y MVC

Yo destor77, yo estoy en la misma... intentando armar un MVC y aprendiendo.

Ya resolvi lo de la paginación. Lo que hice, básicamente es lo que dice gator...

Con el controlador tomo de las variables de URL la página solicitada, y al modelo le pido registros pasandole la pagina... suponte un sistema de noticias


$adm_news = new adminNoticias();
$news = array();
$news = $adm_news->getNews(7); // 7 es la página

El modelo primero pide un conteo (select count(campo) from...) y ya trae pre-establecido un numero de 20 registros por pagina

Con eso hago las cuentas y le paso al controler un array de XXX objetos de tipo "noticia".

En el controlador paso a la vista las variables como "pag_anterior, pag_actual, pag_ultima, pag_siguiente, total_pags, etc"...

Espero ayude, un saludo!
  #15 (permalink)  
Antiguo 27/06/2008, 21:28
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 6 meses
Puntos: 43
Respuesta: paginacion y MVC

Computer XTress muchas gracias, igual me encantaria que pudieras pegar el codigo que usaste para cada elemento del MVC asi sirve de guia para mi y para los demas que estamos metiendonos en este mundillo jeje
  #16 (permalink)  
Antiguo 02/07/2008, 16:59
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 19 años, 4 meses
Puntos: 2
Respuesta: paginacion y MVC

Hola destroyer... bueno ahora me encontré con que mi solucion no es muy eficiente que digamos.... te muestro el código, espero que alguien pueda hacer un poco de luz por que estoy buscnado en google hace días y parece que nadie quiere contar mucho sobre este tema....


Primero, envio por $_GET la pagina:

www.misitio.com/index.php?pag=1


El controlador recibe y pasa al modelo:

Código:
# Clase del controlador
#
class el_controlador {

   public unMetodo() {
 
      $pag = $_GET['pag'];
      $adm_noticias = new adm_noticias();
      $noticias = $adm_noticias->getUltimasNoticias($pag);


      // El modelo me acaba de dar un array de noticias correspondientes a la pagina 1
      // La logica de paginación esta en el modelo, aca solo recibo datos

   
   $template = new template();
   $template->set('noticias', $noticias); // paso el array de objetos noticias al template
   $template->set('paginacion', $paginacion);  // paso el array con datos de la paginacion


   $template->display();

  }
}



# Clase del modelo (para notciasi)
#
class adm_noticias extends activeTable_o_algo {

   public totalRegs;
   public regsPorPagina = 30;   // por defecto, 30 registros por pagina
   public paginaActual;
   public etc, etc, etc;

   public functionunMetodo() {

    //  Aca va toda la logica de paginacion, creo que no hace falta que ponga
    //  codigo ni logica ni nada... sino busca en internet hay mil scripts de paginacion
    //  libres
    // basicamente.

    // El punto es que le puedas pasar al controlador un array con:

    // Pagina Atual, Total Paginas, Registros por pagina 
    // Decirle si ¿hay pagina siguiente? ¿hay anterior? ¿mostramos "primera" y "ultima" (links)?

   }
}
Bueno es una cosa asi... me da fiaca poner todo el codigo por que tendria que poner como 1500 lineas de codigo... (la clase active table, la adm_noticias, la controlador BASE y la del controlador de noticias y luego la de la vista tambien...)


Aún asi, como te decia, no se si esto esta muy bien... estoy viendo como refinarlo por que para cada objeto tipo ADMINISTRADOR tengo que configurar la paginación... por mas que quiera solo ocnsultar 1 registro...




Nuevamente... ESPERO alguien nos de una mano....... EJEEEEEEEEEEEEEEEEEEEEEEEMMMMMM ustedes los de arriba que son tan genios por que no nos ayudan? :PPPPPPPPP

Abrazo... si conseguis algo pasa la data please.

ed
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 08:39.