Formularios
Versión 4 (Guillermo Zdanowicz, 28/08/2011 17:35) → Versión 5/8 (Guillermo Zdanowicz, 22/03/2012 01:41)
h1. Formularios
------------------------------------------------------------------------------------------
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();
}
------------------------------------------------------------------------------------------
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();
}