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.

así se ve la paginación
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...
Escribe tu comentario
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]


