Formularios

link de ayuda: http://www.librosweb.es/symfony_formularios/capitulo12/sfwidgetformschema.html

------------------------------------------------------------------------------------------
Ejemplo de sentencias en el form

------------------------------------------------------------------------------------------
class AreasForm extends BaseAreasForm {
public function configure() {

parent::setup();
unset($this['created_at'],$this['updated_at']); // quita estos campos para que no se visualicen en el formulario
//formato de los campos fecha 
b$format = '%day%/%month%/%year%';
//define el rango de campo fecha
$range = range(date('Y')-90, date('Y')-15);
$years = array_combine($range,$range);
// setea la condifuracion de campo fecha en el campo del formulario
$this->widgetSchema['fechanac'] = new sfWidgetFormDate(array('years' => $years, 'format' => $format ));
}

}

------------------------------------------------------------------------------------------
//setear un valor por defecto en un campo determinado
$this->widgetSchema['my_field']->setDefault(my_default_value);
//ocultar un campo
$this->widgetSchema['idCreador']->setOption('type', 'hidden');
// cambiar el nombre de una etiqueta
$this->widgetSchema['idCreador']->setLabel('Creador');

------------------------------------------------------------------------------------------
Para personalizar listado

$maxLimit = 10;
$this->pager = new sfDoctrinePager('expedientes', $maxLimit);
$q = Doctrine_Query::create()
->from('expedientes e')
->where('e.finalizado = 0');
$this->pager->setQuery($q);
$this->pager->setPage($request->getParameter('page', 1));
$this->pager->init();

-----------------------------------------------------
OTRO EJEMPLO
-----------------------------------------------------

public function executeList(sfWebRequest $request)
{
$maxLimit = 10;
$this->pager = new sfDoctrinePager('netNews', $maxLimit);
//$this->pager->setQuery(Doctrine::getTable('netNews')->createQuery('a'));
$q = Doctrine_Query::create()
->from('netNews n')
->where('n.publicada = 1');
$this->pager->setQuery($q);
$this->pager->setPage($request->getParameter('page', 1));
$this->pager->init();
}

-----------------------------------------------------
SETEO DE CAMPOS FECHA
-----------------------------------------------------

            //formato de los campos fecha
            $format = '%day%/%month%/%year%';

            //define el rango de campo fecha
            $range  = range(date('Y')-30, date('Y')+19);
            $years = array_combine($range,$range);

            //define el rango de campo fecha
            $range_de  = range(date('Y')-25, date('Y')+1);
            $years_de = array_combine($range_de,$range_de);

            //define el rango de campo fecha
            $range_a  = range(date('Y')-25, date('Y')+50);
            $years_a = array_combine($range_a,$range_a);

            // setea la condifuracion de campo fecha en el campo del formulario
            $this->widgetSchema['vigenciade'] = new sfWidgetFormDate(array('years' => $years_de, 'format' => $format ));

Redmine Appliance - Powered by TurnKey Linux