Skip to content

Instantly share code, notes, and snippets.

@umidjons
Last active August 29, 2015 13:57
Show Gist options
  • Save umidjons/9802253 to your computer and use it in GitHub Desktop.
Save umidjons/9802253 to your computer and use it in GitHub Desktop.
Yii: Configuring number format & using in CGridView column

Configuring number format & using in CGridView column

We can configure numbers format in application configuration as below:

<?php
return [
	// ...
	'components'     => [
		// ...
		'format'        => [
			// number format
			'numberFormat'   => [ 'decimals' => 2, 'decimalSeparator' => '.', 'thousandSeparator' => false ],
			
			// date time formats
			'datetimeFormat' => 'd.m.Y H:i:s',
			'dateFormat'     => 'd.m.Y',
		],
	],
];

In CGridView we can set columns' format as follow:

<?php $this->widget( 'zii.widgets.grid.CGridView', [
	'id'            => 'service-grid',
	'dataProvider'  => $model->search(),
	'filter'        => null,
	'itemsCssClass' => 'table table-striped table-hover table-condensed',
	'template'      => '{items}{pager}',
	'columns'       => [
		[
			'header'      => Yii::t( 'zr', 'Service' ),
			'name'        => 'description',
			'htmlOptions' => [ 'class' => 'service-name' ],
		],
		[
			'header'      => Yii::t( 'zr', 'Price' ),
			'name'        => 'price',
			'value'       => '$data->currentPrice->price',
			'htmlOptions' => [ 'class' => 'service-price' ],
			'type'        => 'number', // format as number
		],
		[
			'header' => Yii::t( 'zr', 'Create Date' ),
			'name'   => 'created_at',
			'value'  => '$data->currentPrice->created_at',
			'type'   => 'datetime', // format as date and time
		],
		[
			'class'    => 'CButtonColumn',
		],
	],
] ); ?>

In other places we can format number like:

<?= Yii::app()->format->formatNumber( "6632678.64857" ); ?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment