Skip to content

Latest commit

 

History

History
95 lines (86 loc) · 2.61 KB

README.md

File metadata and controls

95 lines (86 loc) · 2.61 KB

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