« Anterior - Versión 6/8 (diferencias) - Siguiente » - Versión actual
Guillermo Zdanowicz, 28/05/2012 11:46


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();
}

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

Redmine Appliance - Powered by TurnKey Linux