Skip to content

sanchezzzhak/kak-grid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GridView widgets for Yii2

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist kak/grid "*"

Usage

Once the extension is installed, simply use it in your code by :

<?php
  use kak\widgets\grid\GridView; 
  use yii\helpers\Html;
  
echo GridView::widget([
    'showFooter' => true,
    'dataProvider' => $provider,
    'columns' => [
      'user' => [
          'header' => 'user',
          'format' => 'html',
          'value'  => function($data){
              return '[' . $data->stream_id . '] '
              .  Html::a($data->user->name,['user/update', 'id' => $data->user->id ]);
          }
      ],
      'date_key',
      'os',
      'browser',
      'operator_id' => [
          'header' => 'Operator',
          'value' => 'operator.name'
      ],
      'country_id' => [
          'header' => 'Country',
          'format' => 'html',
          'value'  => function($data){
              return Html::img($data->country->flag_url,['title' => $data->country->name_ru]);
          },
         'footer' =>  '<b>Total redirect</b>',
      ],
      'view_count' => [
          'attribute' => 'view_count',
          'summary' => 'sum'
      ],
      'redirect_count' => [
          'attribute' => 'redirect_count',
          'summary' => 'sum'
      ],
      'ratio (redirect/view)' => [
          'header' => 'Ratio',
          'value' =>  function($data){
              return round( (int)$data->redirect_count/(int)$data->view_count ,2);
          }
      ],
      'actions' => [
          'class' => \yii\grid\ActionColumn::className(),
          'template' => '{view}',
      ],
    ]
])?>

Column types

Behaviors