Normalmente los formularios en Symfony se muestran con un poco de html incluido para hacerlos más agradables a la vista y además para evitar que el programador se preocupe de más en la presentación del mismo.
La forma en que salen los formularios en Symfony sirven como vienen por defecto a la mayoría de la gente, vienen por defecto con una presentación tipo tabla y una tipo lista, para seleccionar la tipo lista basta con agregar en la configuración de tu formulario la siguiente linea ( Ver sección «1.2.4 más allá de las tablas generadas» del manual de formularios para symfony 1.2 ):
$this->widgetSchema->setFormFormatterName(‘list’);
Ahora si no quieren ningún elemento tipo tabla y además no quieren ninguno tipo lista, tienen que reescribir su propia clase que herede de sfWidgetFormSchemaFormatter y reescriba sus métodos, en mi caso necesitaba un diseño completamente limpio, sin nada de etiquetas html, así que cree la carpeta widget dentro de lib y allí cree un archivo llamado
sfWidgetFormSchemaFormatterNull.class.php, el contenido del archivo es el siguiente:
<?php
class sfWidgetFormSchemaFormatterNulo extends sfWidgetFormSchemaFormatter
{
protected
$errorRowFormat = «%errors%»,
$errorRowFormatInARow = «%error%»,
$errorListFormatInARow = «%errors%»;
}Y en mi formulario declare el estilo a usar con:
$this->widgetSchema->setFormFormatterName(‘nulo’);
Si quieren saber que métodos reescribir o quieren fijarse de como esta hecho el de las tablas o las listas, revisen los siguientes archivos:
/usr/share/pear/symfony/widget/sfWidgetFormSchemaFormatter.class.php
/usr/share/pear/symfony/widget/sfWidgetFormSchemaFormatterList.class.php
/usr/share/pear/symfony/widget/sfWidgetFormSchemaFormatterTable.class.php
En mi caso tengo instalado symfony en /usr/share/pear/symfony/, ustedes busquen el path de su instalación de symfomy y traten de ubicar esos archivos.
Si quieren ahondar un poco más sobre el tema, pueden ir al siguiente enlace ( en ingles ):
http://www.thatsquality.com/articles/7-days-of-symfony-1-1-forms-widgets-and-validators-day7
Nota: Si van a copiar código de acá, tengan cuidado con las comillas dobles, ya que no se copian adecuadamente.