A continuación se muestra completa la configuración final de la parte de administración del proyecto Jobeet:
# apps/backend/modules/job/config/generator.yml generator: class: sfPropelGenerator param: model_class: JobeetJob theme: admin non_verbose_templates: true with_show: false singular: ~ plural: ~ route_prefix: jobeet_job with_propel_route: 1 config: actions: ~ fields: is_activated: { label: Activated?, help: Whether the user has activated the job, or not } is_public: { label: Public? } list: title: Job Management layout: stacked display: [company, position, location, url, is_activated, email] params: | %%is_activated%% <small>%%jobeet_category%%</small> - %%company%% (<em>%%email%%</em>) is looking for a %%=position%% (%%location%%) max_per_page: 10 sort: [expires_at, desc] batch_actions: _delete: ~ extend: ~ object_actions: extend: ~ _edit: ~ _delete: ~ actions: deleteNeverActivated: { label: Delete never activated jobs } peer_method: doSelectJoinJobeetCategory filter: display: [category_id, company, position, description, is_activated, is_public, email, expires_at] form: class: BackendJobeetJobForm display: Content: [category_id, type, company, logo, url, position, location, description, how_to_apply, is_public, email] Admin: [_generated_token, is_activated, expires_at] edit: title: Editing Job "%%company%% is looking for a %%position%%" new: title: Job Creation
# apps/backend/modules/category/config/generator.yml generator: class: sfPropelGenerator param: model_class: JobeetCategory theme: admin non_verbose_templates: true with_show: false singular: ~ plural: ~ route_prefix: jobeet_category with_propel_route: 1 config: actions: ~ fields: ~ list: title: Category Management display: [=name, slug] batch_actions: {} object_actions: {} filter: class: false form: actions: _delete: ~ _list: ~ _save: ~ edit: title: Editing Category "%%name%%" new: title: New Category
Con sólo estos dos archivos de configuración y en pocos minutos, hemos podido crear una interfaz de administración completa para Jobeet.
Como ya sabrás, siempre que puedes configurar algo en un archivo de configuración YAML, también puedes hacerlo mediante código PHP. Para el generador de la parte de administración puedes editar el archivo apps/backend/modules/job/lib/jobGeneratorConfiguration.class.php. Esta clase permite utilizar las mismas opciones que las del archivo YAML pero mediante código PHP. Para aprender los nombres de cada método, puedes echar un vistazo a la clase base generada en cache/backend/dev/modules/autoJob/lib/BaseJobGeneratorConfiguration.class.php.
válido para Symfony 1.2