The most effective way to restrict democracy is to transfer decision making from the public arena to unaccountable institutions. Chomsky.

Elementos en CakePHP

2008-05-03 00:27:07-05

Desarrollo

CakeHP es una framework que sigue el patrón de diseño Modelo-Vista-Controlador.

La Vista es la interfase al usuario, es decir en el URL http://myserver.com/news/display quiere decir que hay un controlador app/controllers/news_controller.php con un método display() que se procesa y pasa el resultado a la vista que está en app/views/news/display.ctp, todo este proceso genera una variable llamada $content_for_layout que se integra al layout, casi siempre en la parte central de la página.
 
No obstante un sitio de internet por lo general tiene muchos elementos laterales: cajas de búsquedas, los útimos diez comentarios, los últimos posts, la publicidad, las noticias más votadas, encuestas, una pequeña aplicación con el clima, etcétera, etcétera.

Estos elementos pueden ir integrados directamente en el layout, pero ese crearía un problema: supongamos que tenemos cinco diseños de layouts entre los cuales el usuario puede elegir. Si más adelante queremos cambiar algo en la encuesta o en alguna parte del sitio tendríamos que abrir los cinco layouts para cambiarlo. Como CakePHP motiva mucho el DRY (don't repeat yourself), esta no sería una buena aproximación. Lo mejor sería "desmenuzar" el sitio en partes, para eso son los elementos.       

Un elemento es simplemente una mini-vista que se coloca en el directorio app/views/elements/ con la extensión .ctp , por ejemplo suponiendo que tuviese un elemento podcasts.ctp, se renderiza asi en los cinco diseños de layout:

 echo $ this -> renderElement('podcasts'); 

Los elementos pueden estar conformados por puros helpers, es decir, producir xhtml estático, pero también podemos pasarle un array para hacer loops dentro de ellos: 

 echo $ this -> renderElement('podcast's, $ data["Podcast"]); 

En la mononeurona, en la portada y en los blogs, hay un montón de elementos para mostrar las secciones:

CakePHPelements

En CakePHP los elementos se usan en conjunción con los componentes para crear secciones dinámicas en el sitio. Es importante usar el archivo .css del layout  para definir el diseño dentro de los elementos, nunca hay que poner diseño directamente dentro de los elementos.

Permalink: http://www.mononeurona.org/users/entry/aarkerio/1315


Comments Comentblogs:
1.- rnstux rnstux wrote:

puedes desarrollar un ejemplo completo... :)

2008-05-05 10:24:16-05

New Comentblog

Captcha



Login



Remember me:
aarkerio
Manuel Montoya estudió neuropsicología en la facultad y en el Instituto de Biomédicas de la UNAM. Trabajó en Compaq de México como diseñador de software, tiene diez años de experiencia en Java, PHP y SQL. Le interesan muchas cosas y neciamente le da por escribir sobre todas ellas.

Actualmente trabaja en Chipotle Software, desarrollando Karamelo, una herramienta de e-Learning. Jedit.org y WindowMaker son su editor y escritorio favoritos.
GNU W3C anarquismo cakephp centauro ciencia cine cooperación cooperativa hacking historia humor internet karamelo linux literatura méxico música netbsd política programación psicología recetas sociedad software libre arte
Powered by:
Despabilando la MonoNeurona.org
Livechat

<-Nombre
s1m0 wrote:
Thot dice que se apunta para los de melon(Aunque yo te dije piñon :)' ) solo hay que ponernos de acuerdo....
1 day, 2 hours ago

aarkerio wrote:
En Tehuacán nos vemos, en el tapanco
4 days, 16 hours ago

s1m0 wrote:
Ps tu dices cuando, brindamos con la bebida de los dioses!!!
2 weeks, 1 day ago

Karla wrote:
saludos guapo!
on 7/3/08

aarkerio wrote:
No, sólo que hagas cut&paste
on 28/2/08

dmesg wrote:
aarkerio, crees que puede haber la posibilidad de en mi blog de mononeurona se puedan ver los post que he puesto en mononeurona?
on 21/2/08

dmesg wrote:
ya pude postear, y ya pude ver mis post :)
on 21/2/08

dmesg wrote:
y desaparesieron todos mis post
on 20/2/08

dmesg wrote:
aarkerio ya no puedo postear en mononeurona :(
on 20/2/08

dmesg wrote:
aarkerio no puedo postear en mi blog de mononeurona :(
on 25/1/08

¿Qué estuve haciendo?
Me voy a la UNAM
19 hours, 3 minutes ago
Alguien sabe usar backula?
1 day, 17 hours ago
Trabajando, yo si trabajo ;-)
2 days, 20 hours ago
Me voy a comer un pozolín con la chela, que hace calor
5 days, 19 hours ago
Me voy al gotcha del Ajusco
1 week, 1 day ago
Tiempo de ir por la chela
1 week, 5 days ago
Me voy al Centro de la Imagen en Balderas
1 week, 5 days ago
estuvo chido, nos vemos el próximo año, s1mo me debe un curado de melón ;-)
2 weeks, 1 day ago
Voy a dar un curso de CakePHP
2 weeks, 2 days ago
Okas!
2 weeks, 5 days ago
Galerias
aarkerio's Forums
FirefoxjEdit.orgGimpOpenOffice.orgHacker
Top
Colectivo MonoNeurona.org © 2002-2008.