April 30, 2010
Symfony generator con Timestampable

Entorno

Symfony 1.4 y Doctrine.

El problema

Tenemos un mantendor hecho con generator, el cual fue declarado como Timestampable en schema.yml, por lo tanto al crear/editar un registro nos desplegará los campos created_at y created_by de la tabla, los cuales debieran ser asignados automáticamente por Doctrine al momento de crear el registro, por lo tanto el problema es cómo deshabilitar y ocultar estos campos.

La solución

Primero debemos deshabilitar los campos generados por el Timestampable en el formulario, para esto debemos editar el archivo lib/form/doctrine/ModeloForm.class. Aquí debemos deshabilitar los campos created_at y created_by dentro del método config() para que no sean mostrados en el formulario.

public function configure()
{
  unset($this[‘created_at’],$this[‘updated_at’]);
}

Luego en nuestro generator.yml debemos omitir dichos campos en la opcion display de la sección form.

form:

  display: [campo1,campo2,…]

Borramos la caché y listo.

12:32pm  |   URL: http://tmblr.co/ZlXlbyXSmy2
Filed under: symfony