Exibindo Datas Nulas no View

Olá.

Tenho um atributo do tipo ‘Date’ que pode ser nulo (DataDemissao). O problema é que quando ele não é preenchido, a minha View exibe a frase ‘Não Configurado’. Segue a baixo a estrutura da minha View.

<h1>Exibir Funcionario</h1>

<?php $this->widget(‘zii.widgets.CDetailView’, array(

'data'=&gt;&#036;model,


'attributes'=&gt;array(


            'Nome',


            'Registro',


            'DataAdmissao',


            'DataDemissao',


            'Ativo',


            array('name'=&gt;'UsuarioId','value'=&gt;&#036;model-&gt;usuario-&gt;Login,'type'=&gt;'text'),          


),

)); ?>

Gostaria de exibir alguma mensagem do tipo "Não foi demitido". O que devo fazer ??

Desde já, grato


nullDisplay 	string 	the text to be displayed when an attribute value is null.

Você pode verificar os métodos do Detail View:

http://www.yiiframework.com/doc/api/1.1/CDetailView

Olá Raphael!

Siga a dica do Clayton.

Porém, alerto que essa prática não será a indicada caso exista outros atributos com valor "null", já que o contexto é outro.

Sempre q utilizar um widget procure informações sobre o msm no site do Yii, assim vc poderá utilizar o componente da melhor forma.

http://www.yiiframework.com/doc/api/1.1/CDetailView#nullDisplay-detail

Abraço. Flw!

Amigo você pode fazer assim:

Criar a function afterFind() no seu model




    	function afterFind() {

    	if ($this->DataDemissao == '0000-00-00' || $this->DataDemissao == '') {

        	$this->DataDemissao = "Não foi demitido";

    	} else {

        	$this->DataDemissao = Yii::app()->dateFormatter->formatDateTime(

                        	CDateTimeParser::parse($this->DataDemissao, 'yyyy-MM-dd'), 'medium', null);

    	}

    	return true;

	}



Ou colocar na própria CDetailView




<?php $this->widget('zii.widgets.CDetailView', array(

	'data'=>$model,

	'attributes'=>array(

                'Nome',

                'Registro',

                'DataAdmissao',

                'DataDemissao',

                'Ativo',

                array('name'=>'UsuarioId','value'=>$model->usuario->Login,'type'=>'text'),          

	),

  'nullDisplay' => '<span class="null">Não foi demitido</span>',

)); ?>



Porém se você fizer desse segundo método, todos os campos NULL irão ficar com a mensagem [b]Não foi demitido.

[/b]Espero ter ajudado…;)

Obrigado à todos pela ajuda. Utilizei a solução do Adrian Lucas e foi resolvido.