Olá Amigos
Estou tentando estender a classe CFormatter para criar um novo tipo de formatação e aproveitar que ela já tem uma certa integração com outros componentes como o CGridView no sentido de que preciso formatar outros valores além de data, hora, numero, etc e gostaria da ajuda de vocês, pois não estou conseguindo fazer a minha aplicação entender que quero usar esta nova classe.
Criei uma classe assim
<?php
class Formatter extends CFormatter {
/**
* Formata o valor informado no formato de CEP.
* @param mixed $value Valor a ser formatado.
* @return string CEP formatado
* @see cepFormat
*/
public function formatCep($value) {
if (preg_match('^[0-9]{5}+-[0-9]{3}^', $value)) {
return $value;
} else {
return substr($value, 0, 5) . '-' . substr($value, 5, 3);
}
}
}
?>
com o objetivo de utilizá-la da seguinte forma:
$this->widget('GridView', array(
'id' => 'tabela-preco-grid',
'dataProvider' => $model->search(),
'filter' => $model,
'columns' => array(
array(
'name' => 'id',
'type' => 'raw',
'filter' => FALSE,
),
array(
'name' => 'cep_inicial',
'type' => 'cep',
'filter' => FALSE,
),
),
));
Note que no campo cep_inicial (string sem formatação) o a propriedade type está setada como cep.
Percebi que ele faz isso através da classe CFormatter.
Acontece que não estou conseguindo fazer minha aplicação entender a extensão da minha classe.
Alguém poderia me ajudar com isso?
Obrigado.