Muito bom esse post do Akita, recomendo a leitura a programadores e coordenadores/gerentes. Esses dias precisei enviar/configurar uma variavel do controller para o layout, ao contrario de enviar do controller para a respectiva visao deste, que e o mais normal, apos pesquisar vi que uma maneira de faze-lo e usando os slots, como pode ser visto neste link, no exemplo da documentacao, ele cita um exemplo de uso para areas do site, o que tambem e interessante.Para usar e simples, basta configurar a variavel no controller conforme abaixo:$this->getResponse()->setSlot('myKey', $myVar);e recupera-la no layout como abaixo:$myVar = get_slot('myKey', 'myDefaultValue');simples e funcional.Fica a dica. Dica rapida: ja havia usado isso algumas vezes, mas nunca catalogava como snippet ou algo semelhante, hoje precisei novamente e encontrei o link abaixo explicando como obter valores brutos na view.Veja o post clicando aqui. Sempre me surpreende a capacidade humana de inovacao e criacao tecnologica entre outras, veja aqui umas das ultimas incriveis novidades. Esses dias precisei implementar uma validacao de datas de inicio e fim com os validators de forms do Symfony, onde, obviamente, a data de fim tem que ser maior (ou igual, neste caso) a data de inicio. Neste caso, eu recebo as datas no formato "dd/mm/aaaa - HH:MM", portanto foi preciso configurar tambem o formato de datas de entrada para o validator. Validacao com Symfony e muito simples, e ele ja configura uma validacao padrao, conforme o mapeamento das entidades, ja validando por tipo entre outros.No form de exemplo abaixo, pode ser notado os 2 campos de data inicio (dtini) e fim (dtfim), onde configuro inicialmente o validator de data e hora (sfValidatorDateTime) para ambos, informando nas opcoes que a data minima (min) aceita e o dia atual, na primeira hora do dia, que devera ser fornecido a hora (with_time), o formato de exibicao da data invalida em caso de erro (date_format_range_error), o formato de saida da data pos validacao para gravacao no banco (datetime_output) e o formato de entrada de data (date_format).Com isso ja temos os 2 campos de datas sendo criticados de forma que o usuario nao preencha uma data anterior a hoje, para fazer com que a data final seja validada como maior ou igual a data inicial, utilizei o metodo bind, ja que na instanciacao e configuracao do form, nao temos como ter acesso ao valor submetido. No bind, obtenho entao o valor da data inicial, e configuro como sendo a data minima do validator da data final, pronto!Uma outra possivel alternativa e utilizar o sfValidatorCallback ou talvez o hook de postValidator.Caso visualizem formas melhores de fazer o mesmo, indiquem nos comentarios.class MyEntityForm extends MyEntityBaseForm { public function configure() { $dtInput = new sfWidgetFormInputText(array(), array( 'size' => 14, 'maxlength' => 10 )); $this->setWidget('dtini', $dtInput); $this->setWidget('dtfim', $dtInput); // Validators // Recebo as datas no formato dd/mm/aaaa - hh:mm (d/m/Y - H:i) $options = array( 'min' => date('Y-m-d') . ' 00:00:00', 'with_time' => true, 'date_format_range_error' => 'd/m/Y', 'datetime_output' => 'Y-m-d H:i:s', 'date_format' => '~(?P\d{2})/(?P\d{2})/(?P\d{4})\ \-\ (?P\d{2}):(?P\d{2})~' ); $dtValidator = new sfValidatorDateTime($options); $this->setValidator('dtini', $dtValidator); $this->setValidator('dtfim', $dtValidator); $this->getWidgetSchema()->setLabels(array( 'dtini' => 'Data Inicio', 'dtini' => 'Data Fim'