Symfony y Admin Generator

5,527 views

Published on

Published in: Technology
1 Comment
3 Likes
Statistics
Notes
No Downloads
Views
Total views
5,527
On SlideShare
0
From Embeds
0
Number of Embeds
758
Actions
Shares
0
Downloads
172
Comments
1
Likes
3
Embeds 0
No embeds

No notes for slide
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Mejoras que intenta aportar: Es mejor utilizar un pie de página en vez de una cabecera, para dejar libre la parte superior de cada transparencia. El pie de página incluye una vez más publicidad de decharlas.com
  • Symfony y Admin Generator

    1. 1. <ul>Castellón - 5 y 6 de Julio 2010 – Universitat Jaume I </ul><ul>organizan </ul><ul>patrocinan </ul><ul>colaboran </ul><ul>Jornadas Symfony </ul><ul>5 y 6 de julio 2010 Universitat Jaume I, Castellón </ul><ul>http://decharlas.uji.es/symfony </ul>
    2. 2. <ul>Admin Generator <li>Un gran poder conlleva una gran responsabilidad </li></ul><ul>Javier López, flai.es </ul><ul>Jornadas Symfony </ul><ul>5 y 6 de julio 2010 Universitat Jaume I, Castellón </ul><ul>http://decharlas.uji.es/symfony </ul>
    3. 3. <ul>http://www.flai.es </ul><ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>sesión patrocinada por </ul>
    4. 4. Muchas aplicaciones son sólo una interfaz para la BBDD Proceso muy repetitivo y siempre igual REATE: nuevo ETRIEVE: listar PDATE: actualizar ELETE: eliminar C R U D <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>¿CRUD? </ul>
    5. 5. Symfony ofrece dos soluciones <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>God bless symfony </ul>CRUD Generator Admin Generator symfony doctrine:generate-module symfony doctrine:generate-admin
    6. 6. Symfony ofrece dos soluciones <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>God bless symfony </ul>CRUD Generator Admin Generator symfony doctrine:generate-module symfony doctrine:generate-admin Killer Feature
    7. 7. <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>pero, ¿qué es? </ul>
    8. 8. <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>Un ejemplo </ul>
    9. 9. Admin generator = generator.yml <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>Admin Generator </ul>
    10. 10. Admin generator = generator.yml <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>Admin Generator </ul>
    11. 11. <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>Admin Generator </ul>generator.yml forms filters models actions partials generator
    12. 12. <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>Cómo funciona </ul>
    13. 13. /apps/backend/modules /cache/backend/dev/modules <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>Cómo funciona </ul>
    14. 14. <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>Cómo funciona </ul>xxxGeneratorConfiguration generator.yml sfDoctrineGenerator generator: class: sfDoctrineGenerator param:[] generator: config: fields: [] list: [] edit: [] ...
    15. 15. /plugins/data/generator/sfDoctrineModule/admin /SKELETON /TEMPLATE 1. se ejecuta php 2. [?php ?] => <?php ?> Sustitución ##variable## <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>Cómo funciona </ul>sfDoctrineGenerator Módulo en /app/modules/xxx Módulo en /cache/modules/autoxxx COPIADO COMPILADO COPIADO
    16. 16. /SKELETON /TEMPLATE <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>Cómo funciona </ul>
    17. 17. /SKELETON /TEMPLATE <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>Cómo funciona </ul>
    18. 18. /SKELETON /TEMPLATE <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>Cómo funciona </ul>
    19. 19. /lib/data/generator/sfDoctrineModule/mitema /SKELETON /TEMPLATE 1. se ejecuta php 2. [?php ?] => <?php ?> Sustitución ##variable## <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>Tu propio “admin-generator” </ul>sfDoctrineGenerator Módulo en /app/modules/xxx Módulo en /cache/modules/autoxxx COPIADO COMPILADO COPIADO generator: param: theme: mitema
    20. 20. El listado La edición <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>Las acciones </ul>
    21. 21. indexSuccess.php <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>El listado desde la vista </ul>
    22. 22. indexSuccess.php <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>El listado desde la vista </ul>_list_header
    23. 23. indexSuccess.php <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>El listado desde la vista </ul>_flashes
    24. 24. indexSuccess.php <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>El listado desde la vista </ul>_filters
    25. 25. indexSuccess.php <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>El listado desde la vista </ul>_list batch actions
    26. 26. indexSuccess.php <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>El listado desde la vista </ul>_list actions
    27. 27. indexSuccess.php <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>El listado desde la vista </ul>_list actions
    28. 28. indexSuccess.php <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>El listado desde la vista </ul>_list
    29. 29. indexSuccess.php <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>El listado desde la vista </ul>_list
    30. 30. _list.php <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>El listado desde la vista </ul>_list_th_[tabular|stacked ]
    31. 31. _list.php <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>El listado desde la vista </ul>_list_td_[tabular|stacked ]
    32. 32. _list.php <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>El listado desde la vista </ul>_list_td _actions
    33. 33. _list.php <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>El listado desde la vista </ul>_pagination
    34. 34. actions.class.php <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>El listado desde la acción </ul>
    35. 35. <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>El listado construyendo la query </ul>$query sf_user /admin_module product.sort sf_user /admin_module product.filter ProductFormFilter buildQuery configuration defaultFilters
    36. 36. actions.class.php <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>El listado desde la acción </ul>
    37. 37. editSuccess.php newSucccess.php <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>La edición desde la vista </ul>_form_header
    38. 38. editSuccess.php newSucccess.php <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>La edición desde la vista </ul>_flashes
    39. 39. editSuccess.php newSucccess.php <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>La edición desde la vista </ul>_form_footer
    40. 40. editSuccess.php newSucccess.php <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>La edición desde la vista </ul>_form
    41. 41. editSuccess.php newSucccess.php <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>La edición desde la vista </ul>_form_actions
    42. 42. <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>La edición desde la acción </ul>GET POST GET PUT
    43. 43. Nuevo framework de formulario a partir de sf 1.0 La lógica depende del formulario no de la acción, no depende del generador José Antonio Pío os contará como domesticarlos mañana <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>La edición desde la acción </ul>
    44. 44. <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>Filtros </ul>
    45. 45. Formularios muy especiales XXX = field YYY = type <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>Los Filtros </ul>TableMethod foreach $fields end $this->addXXXColumnQuery $this->addYYYQuery() $this->addXXXColumnQuery() buildQuery
    46. 46. <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>Los Filtros </ul>addForeignKeyQuery $this->addYYYQuery() add ForeignKey Query add Enum Query add Text Query add Number Query add Boolean Query
    47. 47. <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>Los Filtros </ul>addForeignKeyQuery $this->addYYYQuery() add ForeignKey Query add Enum Query add Text Query add Number Query add Boolean Query
    48. 48. <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>Ejemplos </ul>
    49. 49. <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>Ejemplos el modelo de datos </ul>
    50. 50. 1. Botón activar/desactivar un producto <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>Ejemplos </ul>
    51. 51. 1. Botón activar/desactivar un producto <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>Ejemplos </ul>Mensaje de notificación Nueva acción
    52. 52. 1. Botón activar/desactivar un producto Modificando la vista <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>Ejemplos </ul>list_td_actions.php
    53. 53. 1. Botón activar/desactivar un producto Modificando el controlador <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>Ejemplos </ul>actions.class.php
    54. 54. 2. Mostrar el número de productos y filtrar por ese campo <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>Ejemplos </ul>
    55. 55. 2. Mostrar el número de productos y filtrar por ese campo <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>Ejemplos </ul>
    56. 56. email: javier.lopez@flai.es twitter: @loalf blog: http://www.loalf.com empresa: http://www.flai.es <ul>Jornadas Symfony http://decharlas.uji.es/symfony </ul><ul>¡Muchas gracias! </ul>

    ×