- Timestamp:
- 09/27/09 22:56:46 (4 years ago)
- Files:
-
- doc/branches/1.3/jobeet/es/04.markdown (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
doc/branches/1.3/jobeet/es/04.markdown
r22439 r22527 30 30 * El **Controlador** es la pieza de código que llama al Modelo para obtener algunos datos que le pasa a la Vista para la presentación al cliente. Cuando instalamos Symfony el primer día, vimos que todas las solicitudes son gestionadas por un controlador frontal (`index.php` y `frontend_dev.php`). Estos controladores frontales delegadan la verdadera labor a las **acciones**. Como vimos ayer, estas acciones son, lógicamente, agrupadas en **módulos**. 31 31 32 32  33 33 34 34 Hoy, usaremos el mockup definido el día 2 para personalizar la página principal y la página de puestos de trabajos. Vamos hacerlas dinámicas. A lo largo del camino, vamos a modificar un montón de cosas en diferentes archivos para demostrar la estructura de directorios symfony y la forma de separar el código entre las capas. … … 41 41 Una forma de resolver el problema es definir un encabezado y un pie de página y lo incluyes en cada plantilla: 42 42 43 43  44 44 45 45 Pero los archivos de la cabecera y el pie de página no contienen HTML válido. Debe haber una mejor manera. En lugar de reinventar la rueda, vamos a utilizar otro patrón de diseño para resolver este problema: el … … 47 47 El patrón de diseño decorador resuelve el problema al revés: la plantilla es decorada después de que el contenido es mostrado por una plantilla global, llamada **layout** en Symfony: 48 48 49 49  50 50 51 51 El layout de una aplicación se llama `layout.php` y se puede encontrar en el directorio `apps/frontend/templates/`. Este directorio contiene todas las plantillas globales para una aplicación. … … 151 151 >y ponerlo bajo el directorio `web/`. 152 152 153 153  154 154 155 155 >**TIP** … … 185 185 javascripts: [] 186 186 187 has_layout: on187 has_layout: true 188 188 layout: layout 189 189 … … 403 403 </div> 404 404 405 405  406 406 407 407 La función `url_for()` en esta plantilla es un helper symfony que vamos a discutir mañana. … … 447 447 </propel> 448 448 <doctrine> 449 <small>posted on <?php echo date('m/d/Y', strtotime($job->getCreatedAt())) ?></small>449 <small>posted on <?php echo $job->getDateTimeObject('created_at')->format('m/d/Y') ?></small> 450 450 </doctrine> 451 451 </div> … … 489 489 >que cargarlo manualmente utilizando el helper `use_helper()`. 490 490 491 491  492 492 493 493 Los Slots … … 503 503 En Symfony, cuando una zona del layout depende de la plantilla para mostrarse, necesitas definir un slot: 504 504 505 505  506 506 507 507 Añade un slot al layout para permitir que el título sea dinámico: … … 594 594 En cuanto a las excepciones, la página que aparece al usuario es diferente en el entorno `prod` del entorno `dev`: 595 595 596 597 598 596  597 598  599 599 600 600 >**NOTE** … … 702 702 >[API documentation](http://www.symfony-project.org/api/1_2/) para aprender más 703 703 >acerca de todas las clases internas de Symfony. 704 >**TIP** 705 >Las clases [`sfAction`](http://www.symfony-project.org/api/1_3/sfAction), 706 >[`sfRequest`](http://www.symfony-project.org/api/1_3/sfRequest), y 707 >[`sfResponse`](http://www.symfony-project.org/api/1_3/sfResponse) 708 >dan muchos otros métodos útiles. No dudes en navegar por la 709 >[documentación API](http://www.symfony-project.org/api/1_3/) para aprender más 710 >acerca de todas las clases internas de Symfony. 704 711 705 712 Nos vemos mañana