quinta-feira, 13 de setembro de 2012

Symfony User Filters

Muitas vezes é importante conseguirmos saber os filtros que o utilizador criou para apresentarmos os dados pedidos.

Estes filtros são guardados como atributo do sf_user, para os conseguir obter basta utilizar estas linhas:

$admin_module = $sf_user->getAttributeHolder()->getAll('admin_module');
        $filters = $admin_module['page.filters'];

em que o page é o nome do modulo que estão a editar.


segunda-feira, 10 de setembro de 2012

Download de ficheiro em Symfony

Por vezes esta simples acção pode ser um bocado complicada. Vamos então ver como podemos fazer o download de um ficheiro de forma simples em Symfony.

Criar-mos a acção executeDownload() e, após criar o ficheiro basta colocar estas poucas linhas:

$resp = $this->getResponse();

    $resp->setContentType('text/csv');
    $resp->setHttpHeader(
              'Content-Disposition', 
              'attachment; filename="' . basename($file_path) . '"');
    $resp->setContent(file_get_contents($file_path));

    return sfView::NONE;

segunda-feira, 3 de setembro de 2012

Widgets Template - Row Format

Personalizar os formulários do Symfony pode ser um castigo, a menos que consigamos perceber como funcionam e as coisas tornam-se mais simples.

Até ao dia de hoje, sempre que queria modificar um formulário editava o template e reescrevia o html.

posso fazer o mesmo com apenas estava linha de código no formulário:
$this->widgetSchema
     ->getFormFormatter()
     ->setRowFormat('%label%%field%%help%%hidden_fields%');

Podemos utilizar os seguintes atributos:

%label%
      %field%
      %error%
      %help%
      %hidden_fields%