Yii Framework Forum: Alguien Que Explique "separador Miles Paso A Paso" - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Alguien Que Explique "separador Miles Paso A Paso" Rate Topic: -----

#1 User is offline   daniel_vald 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 12
  • Joined: 20-August 12

Posted 17 September 2012 - 04:22 PM

Resuelto ver mi ultimo post abajo
necesito saber como implementar el separador de miles con puntos, paso a paso, se agradece, ya lo intente con con un video de gustabo salgado, pero no me dio :(, hay otro post que hablan de habilitar el componente format en config/main pero no dan nada mas :(.

bueno a mi me salen los números de esta manera 123456789 sin formato alguno y yo lo quiero 123.456.789 .

Así que se agradece si alguien a de explicarlo que lo haga paso a paso para la comunidad

se agradece desde ya
0

#2 User is offline   nucklear 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 26
  • Joined: 20-September 10
  • Location:Cordoba - Argentina

Posted 18 September 2012 - 08:11 AM

Eso lo haces con number_format

echo number_format(123456789, 2, '.', ',');


No se si es lo que buscas.
0

#3 User is offline   daniel_vald 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 12
  • Joined: 20-August 12

Posted 18 September 2012 - 11:29 AM

Si lo anterior esta en una vista como me quedaria en mi codigo de vista ....?
array(
	'name'=>'total_monto',
	'htmlOptions'=>array('style'=>'text-align: right','width'=>'90px'),
	'type'=>'text'
     ),


Se agradece
0

#4 User is offline   nucklear 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 26
  • Joined: 20-September 10
  • Location:Cordoba - Argentina

Posted 18 September 2012 - 02:18 PM

podes poner el codigo completo, al menos para saber esas propiedades a donde pertenecen...?
'htmlOptions' tiene una propiedad 'value'.
0

#5 User is offline   daniel_vald 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 12
  • Joined: 20-August 12

Posted 18 September 2012 - 06:05 PM

Este es le código del widget en el archivo admin de la vista

<?php $this->widget('zii.widgets.grid.CGridView', array(
	'id'=>'monto-grid',
	'dataProvider'=>$model->search(),
	'filter'=>$model,
	'columns'=>array(
		
		array(
				'name'=>'id_proyecto',
				'value'=>'$data->proyecto->cod_proyecto',
				'htmlOptions'=>array('style'=>'text-align: left','width'=>'160px'),
				'type'=>'text'
				 ),
		'origen_rec',
		array(
				'name'=>'total_monto',
				//'value'=>'$data->monto->total_monto',
				'htmlOptions'=>array('style'=>'text-align: right','width'=>'90px'),
				'type'=>'text'
				 ),
		
		array(
				'name'=>'pecunario',
				//'value'=>'$data->monto->pecunario',
				'htmlOptions'=>array('style'=>'text-align: right','width'=>'70px'),
				'type'=>'text'
				 ),
		array(
				'name'=>'no_pecunario',
				//'value'=>'$data->monto->no_pecunario',
				'htmlOptions'=>array('style'=>'text-align: right','width'=>'70px'),
				'type'=>'text'
				 ),
	array(
				'name'=>'total_contraparte',
				//'value'=>'$data->monto->total_contraparte',
				'htmlOptions'=>array('style'=>'text-align: right','width'=>'70px'),
				'type'=>'text'
				 ),
				
		array(
			'class'=>'CButtonColumn',
		),
	),
)); ?>


Se sigue agradeciendo aporte :)
0

#6 User is offline   nucklear 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 26
  • Joined: 20-September 10
  • Location:Cordoba - Argentina

Posted 18 September 2012 - 09:41 PM

Pero si ya lo tenes, solo falta acomodarlo:

Untested...
array(
                                'name'=>'total_monto',
                                'value'=>'number_format($data->monto->total_monto, 2, ".", ",")',
                                'htmlOptions'=>array('style'=>'text-align: right','width'=>'90px'),
                                'type'=>'text'
                                 ),


O algo mejor, podes usar callbacks > http://www.yiiframew...ex-datacolumns/
0

#7 User is offline   daniel_vald 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 12
  • Joined: 20-August 12

Posted 19 September 2012 - 04:08 PM

Bueno aquí esta la respuesta de como lo hice video34 "Gustavo Salgado"

1.- crear una carpeta en extensions con el nombre de puntos dentro de ella colocar el archivo GPuntos.php
<?php
class GPuntos extends CActiveRecordBehavior
{
    public $campos;                 // String de campos separados por comas los cuales se les desea aplicar el formato
    public $separador = '.';        // Separador de miles
    
    public function beforeSave($event)
    {
        $campos = explode(',', $this->campos);
        foreach($campos as $campo){
            if(isset($this->getOwner()->{trim($campo)}))
                $this->getOwner()->{trim($campo)} = str_replace($this->separador, '', $this->getOwner()->{trim($campo)});
        }
    }
    public function afterFind($event)
    {
        $separador_dec = ($this->separador != '.')? '.' : ',';
        $campos = explode(',', $this->campos);
        foreach($campos as $campo)
            $this->getOwner()->{trim($campo)} = number_format($this->getOwner()->{trim($campo)},0,$separador_dec,$this->separador);
        
        return true;
    }
}



2.- Después ir al modelo o modelos donde se va a utilizar y agregar (en mi caso modelo Monto)
public function behaviors()
	{
		return array(
			'GPuntos' => array(
				'class' => 'ext.puntos.GPuntos',
				'campos' => 'total_monto, pecunario_uach, no_pecunario_uach, total_contraparte',
				'separador' => '.',
				),
		);
	}



3.- utilizar en admin el widget simple, puesto que el otro no me sirvió (con array{ name, value, htmlOptions} )
mi widgets
<?php $this->widget('zii.widgets.grid.CGridView', array(
	'id'=>'monto-grid',
	'dataProvider'=>$model->search(),
	'filter'=>$model,
	'columns'=>array(
		'id_monto',
		'id_proyecto',
		'origen_rec',
		'total_monto',
		/*'ano_01',
		'ano_02',
		'ano_03',
		'ano_04',
		'ano_05',
		'ano_06',*/
		'pecunario',
		'no_pecunario',
		'total_contraparte',
		
		array(
			'class'=>'CButtonColumn',
		),
	),
)); ?>



y ya esta todo el modelo monto con su formato en miles :)
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users