lunes, 4 de junio de 2007

Progresos


Poco a poco voy consiguiendo progresos en el aprendizaje de CakePHP. Hace más o menos una semana que comencé a intentar desarrollar algo concreto y lo cierto es que va funcionando. No está terminado, pero me ha servido para aprender unas cuantas cosas.

La imagen de arriba muestra un típico "index" de una tabla del modelo paginada. Lo más complejo ha sido crear la vista y tengo que probar algunas estrategias para ver qué hacer cuando no hay datos que mostrar. Sin embargo, ahí tengo botones de acciones personalizados, etc. A ver si encuentro iconos mejores, por cierto. ¡Ah! Y alguna manera de dar un mejor aspecto al paginador.

Como se puede ver, hay imágenes en los registros. Esto me ha servido para aprender a incluir Behaviors. En concreto uno "bastante bueno" para subir archivos, con algunas características curiosas, como la capacidad de autoenrutar el archivo en función de su tipo mime. También funciones para validar por tipo o subtipo mime y otras cosillas. Tengo todavía un problema con la sobreescritura de archivos, que ahí peta. También quiero añadirle la posibilidad de guardar los archivos (o referencias a ellos) en una tabla común.

También he aprendido a crear elements y algo sobre usar requestAction. Esto es útil para acceder a resultados de (otras) acciones de (otros) controladores, aunque hay quien sugiere algunos enfoques menos cargantes para la base de datos. Supongo que eso es matizar mucho para alguien que apenas lleva una semana escribiendo sobre CakePHP.

Entre otros próximos objetivos tengo la posibilidad de crear algún Helper para las tablas de datos, al menos para los tipos más comunes de acciones, seleccionar columnas que quiero mostrar/no mostrar/ocultar, etc. Aún me quedan un montón de historias para aprender, pero lo bueno es que lo que va saliendo... pues va saliendo. El scaffolding de Cake es como una red de seguridad.

Otro tema, es que tengo que ver cómo añadir en la acción delete algo que se encargue de borrar las imágenes asociadas a un recurso. Supongo que en BeforeDelete del modelo o algo así. Tengo que verlo.

2 comentarios:

Anónimo dijo...

Acabo de conocer tu blog, muy util!!
Yo tambien estoy aprendiendo cakephp, asi que me vendra de perlas tus posts!
Sigue escribiendo...y pegando codigo ;)

Anónimo dijo...

Hola anónimo, creo que eres el comentarista #1.

A ver hasta donde llegamos con estos Cakes. :-)