symfony admin generator - decharlas

Post on 29-Jan-2018

1.599 views 0 download

Transcript of symfony admin generator - decharlas

organizan patrocinan

colaboran

Jornadas Symfony 5 y 6 de julio 2010Universitat Jaume I, Castellón

http://decharlas.uji.es/symfony

Admin GeneratorUn gran poder conlleva una gran responsabilidad

Javier López, flai.es

Jornadas Symfony 5 y 6 de julio 2010Universitat Jaume I, Castellón

http://decharlas.uji.es/symfony

http://www.flai.es

Jornadas Symfony http://decharlas.uji.es/symfony

sesión patrocinada por

Jornadas Symfony http://decharlas.uji.es/symfony

¿CRUD?

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

Jornadas Symfony http://decharlas.uji.es/symfony

God bless symfony

Symfony ofrece dos soluciones

CRUDGenerator

AdminGenerator

symfony doctrine:generate-module symfony doctrine:generate-admin

Jornadas Symfony http://decharlas.uji.es/symfony

God bless symfony

Symfony ofrece dos soluciones

CRUDGenerator

AdminGenerator

symfony doctrine:generate-module symfony doctrine:generate-admin

Killer

Fea

ture

Jornadas Symfony http://decharlas.uji.es/symfony

pero, ¿qué es?

Jornadas Symfony http://decharlas.uji.es/symfony

Un ejemplo

Jornadas Symfony http://decharlas.uji.es/symfony

Admin Generator

Admin generator =

generator.yml

Jornadas Symfony http://decharlas.uji.es/symfony

Admin Generator

Admin generator =

generator.yml

Jornadas Symfony http://decharlas.uji.es/symfony

Admin Generator

generator.yml

forms

filters

models

actions

partials generator

Jornadas Symfony http://decharlas.uji.es/symfony

Cómo funciona

Jornadas Symfony http://decharlas.uji.es/symfony

Cómo funciona/apps/backend/modules /cache/backend/dev/modules

Jornadas Symfony http://decharlas.uji.es/symfony

Cómo funciona

xxxGeneratorConfiguration

generator.yml

sfDoctrineGenerator

generator: class: sfDoctrineGenerator param:[]

generator: config: fields: [] list: [] edit: [] ...

Jornadas Symfony http://decharlas.uji.es/symfony

Cómo funciona

sfDoctrineGenerator

Módulo en /app/modules/xxx

Módulo en /cache/modules/autoxxx

/plugins/data/generator/sfDoctrineModule/admin

COPIADO

/SKELETON

COMPILADO

/TEMPLATE

1. se ejecuta php2. [?php ?] => <?php ?>

COPIADOSustitución ##variable##

Jornadas Symfony http://decharlas.uji.es/symfony

Cómo funciona/SKELETON /TEMPLATE

Jornadas Symfony http://decharlas.uji.es/symfony

Cómo funciona/SKELETON /TEMPLATE

Jornadas Symfony http://decharlas.uji.es/symfony

Cómo funciona/SKELETON /TEMPLATE

Jornadas Symfony http://decharlas.uji.es/symfony

Tu propio “admin-generator”

sfDoctrineGenerator

Módulo en /app/modules/xxx

Módulo en /cache/modules/autoxxx

/lib/data/generator/sfDoctrineModule/mitema

COPIADO

/SKELETON

COMPILADO

/TEMPLATE

1. se ejecuta php2. [?php ?] => <?php ?>

COPIADOSustitución ##variable##

generator: param: theme: mitema

Jornadas Symfony http://decharlas.uji.es/symfony

Las accionesEl listadoLa edición

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la vista

indexSuccess.php

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la vista

indexSuccess.php

_list_header

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la vista

indexSuccess.php

_flashes

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la vista

indexSuccess.php

_filters

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la vista

indexSuccess.php

_list batch actions

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la vista

indexSuccess.php

_list actions

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la vista

indexSuccess.php

_list actions

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la vista

indexSuccess.php

_list

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la vista

indexSuccess.php

_list

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la vista

_list.php

_list_th_[tabular|stacked]

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la vista

_list.php

_list_td_[tabular|stacked]

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la vista

_list.php

_list_td_actions

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la vista

_list.php

_pagination

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la acción

actions.class.php

Jornadas Symfony http://decharlas.uji.es/symfony

El listado construyendo la query

$query

sf_user/admin_module product.sort

sf_user/admin_module product.filter

ProductFormFilterbuildQuery

configurationdefaultFilters

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la acción

actions.class.php

Jornadas Symfony http://decharlas.uji.es/symfony

La edición desde la vistaeditSuccess.php

newSucccess.php

_form_header

Jornadas Symfony http://decharlas.uji.es/symfony

La edición desde la vistaeditSuccess.php

newSucccess.php

_flashes

Jornadas Symfony http://decharlas.uji.es/symfony

La edición desde la vistaeditSuccess.php

newSucccess.php

_form_footer

Jornadas Symfony http://decharlas.uji.es/symfony

La edición desde la vistaeditSuccess.php

newSucccess.php

_form

Jornadas Symfony http://decharlas.uji.es/symfony

La edición desde la vistaeditSuccess.php

newSucccess.php

_form_actions

Jornadas Symfony http://decharlas.uji.es/symfony

La edición desde la acción

GET

POST

GET

PUT

Jornadas Symfony http://decharlas.uji.es/symfony

La edición desde la acción

Nuevo framework de formulario a partir de sf 1.0

La lógica depende del formulario no de la acción, no dependedel generador

José Antonio Pío os contará como domesticarlos mañana

Jornadas Symfony http://decharlas.uji.es/symfony

Filtros

Jornadas Symfony http://decharlas.uji.es/symfony

Los FiltrosFormularios muy especiales

TableMethod

foreach $fields

end

$this->addXXXColumnQuery

$this->addYYYQuery()

$this->addXXXColumnQuery()buildQuery

XXX = fieldYYY = type

Jornadas Symfony http://decharlas.uji.es/symfony

Los Filtros

addForeignKeyQuery

$this->addYYYQuery()

addForeignKeyQuery

addEnumQuery

addTextQuery

addNumberQuery

addBooleanQuery

Jornadas Symfony http://decharlas.uji.es/symfony

Los Filtros

addForeignKeyQuery

$this->addYYYQuery()

addForeignKeyQuery

addEnumQuery

addTextQuery

addNumberQuery

addBooleanQuery

Jornadas Symfony http://decharlas.uji.es/symfony

Ejemplos

Jornadas Symfony http://decharlas.uji.es/symfony

Ejemplos el modelo de datos

Jornadas Symfony http://decharlas.uji.es/symfony

Ejemplos1. Botón activar/desactivar un producto

Jornadas Symfony http://decharlas.uji.es/symfony

Ejemplos1. Botón activar/desactivar un producto

Mensaje de notificación

Nueva acción

Jornadas Symfony http://decharlas.uji.es/symfony

Ejemplos1. Botón activar/desactivar un producto

Modificando la vista

list_td_actions.php

Jornadas Symfony http://decharlas.uji.es/symfony

Ejemplos1. Botón activar/desactivar un producto

Modificando el controladoractions.class.php

Jornadas Symfony http://decharlas.uji.es/symfony

Ejemplos2. Mostrar el número de productos y filtrar por ese campo

Jornadas Symfony http://decharlas.uji.es/symfony

Ejemplos2. Mostrar el número de productos y filtrar por ese campo

Jornadas Symfony http://decharlas.uji.es/symfony

¡Muchas gracias!

email: javier.lopez@flai.es

twitter: @loalf

blog: http://www.loalf.com

empresa: http://www.flai.es