segunda-feira, 21 de março de 2011

Parâmetro para sfWidgetFormDate

Pessoal o código abaixo é um exemplo para criar um campo referente a data de nascimento de uma pessoa, mas o importante é a forma dos parâmetros, pois o sfWidgetFormDate vem por padrão com 10 anos para seleção e para este caso não seria o suficiente.
Estou utilizando o $this pois este código deve ser escrito dentro da classe Form exemplo lib/form/ClienteForm.class.php

$years = range(1900, date('Y'));
$this->widgetSchema['data_nascimento'] = new sfWidgetFormDate(
array(
'format' => '%day% / %month% / %year%',
'years' => array_combine($years, $years)
)
);

Existem também outros parâmetros úteis mas meu exemplo é este.

Abraço a todos.

quinta-feira, 10 de março de 2011

Curso Prático Symfony 1.4 - Criando um cadastro de clientes - Aula 3 - parte 2

Obs: esta aula foi dividida em dois vídeos por motivo de tempo limite do youtube, o início está nesta mesma aula parte 1.

A minha meta é fazer o mais avançado possível, mas dependendo da colaboração de todos, podemos ir além.
Software Livre e Cursos Gratuitos são muito bons, mas tudo tem um custo.

Abraço a todos e até a próxima.

Curso Prático Symfony 1.4 - Criando um cadastro de clientes - Aula 3 - parte 1

Obs: esta aula foi dividida em dois vídeos por motivo de tempo limite do youtube, a sequência está nesta mesma aula parte 2.

A minha meta é fazer o mais avançado possível, mas dependendo da colaboração de todos, podemos ir além.
Software Livre e Cursos Gratuitos são muito bons, mas tudo tem um custo.

Abraço a todos e até a próxima.

quinta-feira, 24 de fevereiro de 2011

Barulho de Chuva

Olá pessoal, acredito que todos passa pelo mesmo problema de trabalhar até tarde, dormir mal.
Segue um link aí que talvez possa ajudar http://www.rainymood.com/
É uma chuva muito boa para dormir, vamos fazer com que as nossas 4 horas de sono diárias valham a pena.

Abraço a todos.

sexta-feira, 18 de fevereiro de 2011

Filtrar dados do componente sfWidgetFormDoctrineChoice

Uma dificuldade que sempre surge, é a de filtrar dados em um selectbox ou choice, você pode fazer alguma coisa depois de montado, mas também é possível passar uma query para um filtro direto na consulta ao banco.
Segue abaixo um exemplo.

Exemplo: 
$ativo = true;
$q = Doctrine_Query::create()
->from('Categoria a')
->orderBy('a.descricao')
->addWhere('a.ativo = ?', $ativo); 

$this->widgetShema['categoria_id'] new sfWidgetFormDoctrineChoice(
  array('label' => "Categoria",
 'model' => $this->getRelatedModelName('Categoria'),
 'add_empty' => '...selecione uam opção...', 'query' => $q
  )
); 

o item orderBy da nossa query também pode ser solicitado direto no componente( adicionando no array de atributos o atributo order_by=>array(campo1, campo2) ), mas como já estamos solicitando uma query específica, já trazemos ordenado da maneira que desejamos.


Abraço a todos.

quinta-feira, 17 de fevereiro de 2011

Curso Prático Symfony 1.4 - Criando um cadastro de clientes - Aula 2





A minha meta é fazer o mais avançado possível, mas dependendo da colaboração de todos, podemos ir além.
Software Livre e Cursos Gratuitos são muito bons, mas tudo tem um custo.

Abraço a todos e até a próxima.

quinta-feira, 10 de fevereiro de 2011

Symfony Formatar datas

Bom dia pessoal vai aí uma dica para formatar datas
format_date('2011-02-08', 'EEE, dd MMM yyyy') 
isso retornaria ter, 08 fev 2011


as opções de formatação segue abaixo com a parte do helper que trata o parâmetro:

switch ($pattern)
    {
      case 'd':
        return $this->formatInfo->ShortDatePattern;
        break;
      case 'D':
        return $this->formatInfo->LongDatePattern;
        break;
      case 'p':
        return $this->formatInfo->MediumDatePattern;
        break;
      case 'P':
        return $this->formatInfo->FullDatePattern;
        break;
      case 't':
        return $this->formatInfo->ShortTimePattern;
        break;
      case 'T':
        return $this->formatInfo->LongTimePattern;
        break;
      case 'q':
        return $this->formatInfo->MediumTimePattern;
        break;
      case 'Q':
        return $this->formatInfo->FullTimePattern;
        break;
      case 'f':
        return $this->formatInfo->formatDateTime($this->formatInfo->LongDatePattern, $this->formatInfo->ShortTimePattern);
        break;
      case 'F':
        return $this->formatInfo->formatDateTime($this->formatInfo->LongDatePattern, $this->formatInfo->LongTimePattern);
        break;
      case 'g':
        return $this->formatInfo->formatDateTime($this->formatInfo->ShortDatePattern, $this->formatInfo->ShortTimePattern);
        break;
      case 'G':
        return $this->formatInfo->formatDateTime($this->formatInfo->ShortDatePattern, $this->formatInfo->LongTimePattern);
        break;
      case 'i':
        return 'yyyy-MM-dd';
        break;
      case 'I':
        return 'yyyy-MM-dd HH:mm:ss';
        break;
      case 'M':
      case 'm':
        return 'MMMM dd';
        break;
      case 'R':
      case 'r':
        return 'EEE, dd MMM yyyy HH:mm:ss';
        break;
      case 's':
        return 'yyyy-MM-ddTHH:mm:ss';
        break;
      case 'u':
        return 'yyyy-MM-dd HH:mm:ss z';
        break;
      case 'U':
        return 'EEEE dd MMMM yyyy HH:mm:ss';
        break;
      case 'Y':
      case 'y':
        return 'yyyy MMMM';
        break;
      default :
        return $pattern;