CakePHP: Pagination en admin_routines

13.nov 2007 Envía un trackback

Imagino que esta entrada interesará solamente a los que alguna vez han usado -o están interesados en- CakePHP. Pero no a todos, solo los que han decidido usar una rama pre beta, la 1.2. Sigamos con la criba, de todos los que queden leyendo, ¿quién ha tenido problemas con la paginación dentro de admin routines?.

Enhorabuena si todavía estás leyendo, puede ser que lo que sigue solucione tus problemas. La paginación es una característica por defecto en la rama 1.2, pero en determinadas circunstancias no funciona. Lo único que he hecho (por si te apetece reproducir el error) ha sido bakear un par de modelos, controladores y vistas e intentar navegar por ellas (con admin routines).

Las admin routines hacen que todas las funciones del tipo admin_view() en controlador sean accesibles vía web de la forma: http://url/admin/view/, lo que facilita al desarrollador crear un interfaz amigable para la administración del sitio.

Navegando por admin_index() es donde reproducimos el problema, ya que los resultados mostrados son paginados de n en n elementos o registros. Si pinchamos en page 2 para acceder a la segunda página de resultados (o a cualquiera de ellas) el error que se muestra es el siguiente:
Missing Method in PostsController

You are seeing this error because the action admin_page2 is not defined in controller PostsController
<?php
class PostsController extends AppController {
   function admin_page2() {
   }
}
?>
Lo primero que pensé es que había que activar algo, un helper, una variable, una opción de rutas... con lo que el fallo era mío, pero en #cakephp han apuntado el problema a un ticket abierto con solución en forma de patch así que vamos a aplicarlo.
CakePHP Pagination
así se ve la paginación
A la antigua usanza, abrimos el archivo router.php y vamos a la linea 506, agregamos lo siguiente:
if (empty($_this->__namedArgs)) 
{
	$_this->connectNamed(array('page', 'fields', 'order', 'limit', 'recursive', 'sort', 'direction', 'step'));
}
Y listo, todo funcionando a la perfección. Imagino que en las siguientes versiones este problema ya estará subsanado. Está claro que lo que no arregle un parche...
pagination admin_routines patch

Escribe tu comentario
 
 
Guardar datos
Escribe tu comentario:
captcha


Intenta que tu comentario sea interesante y con información relevante al tema de la entrada. BBCodes disponibles: [url=http://direccion]texto[/url], negrita: [b]texto[/b], itálica: [i]texto[/i], subrayada: [u]texto[/u]. Para mencionar o citar a alguien (quote): [cita]texto[/cita]