Yii 2.0: yii2-contextmenu

The contextMenu of a grid row for Yii 2.0 styled using Bootstrap 3.
2 followers

yii2-contextmenu

yii2 Extended for bootstrap-contextmenu

yii2 Extended for bootstrap-contextmenu plugin https://github.com/sydcanem/bootstrap-contextmenu

Gird right - click operation, you can remove the operation column

http://www.yiiframework.com/extension/yii2-contextmenu/files/yii2-contextmenu-1.png

http://www.yiiframework.com/extension/yii2-contextmenu/files/yii2-contextmenu-2.png

Installation

The preferred way to install this extension is through composer.

Either run

composer require --prefer-dist liyunfang/yii2-contextmenu

or add

"liyunfang/yii2-contextmenu": "*"

to the require section of your composer.json file.

Requirements

This extension require twitter-bootstrap

Usage

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

GridView options

'columns' => [
    [
        'class' => \liyunfang\contextmenu\SerialColumn::className(),
        'contextMenu' => true,
        //'contextMenuAttribute' => 'id',
        'template' => '{view} {update} <li class="divider"></li> {story}', 
        'buttons' => [
             'story' => function ($url, $model) {
                 $title = Yii::t('app', 'Story');
                 $label = '<span class="glyphicon glyphicon-film"></span> ' . $title;
                 $url = \Yii::$app->getUrlManager()->createUrl(['/user/story','id' => $model->id]);
                 $options = ['tabindex' => '-1','title' => $title, 'data' => ['pjax' => '0' ,  'toggle' => 'tooltip']];
                 return '<li>' . Html::a($label, $url, $options) . '</li>' . PHP_EOL;
              }
         ],
   ],
    ....
],
'rowOptions' => function($model, $key, $index, $gird){
     $contextMenuId = $gird->columns[0]->contextMenuId;
     return ['data'=>[ 'toggle' => 'context','target'=> "#".$contextMenuId ]];
 },

or use KartikSerialColumn,But this requires the installation of grid Kartik extension. Please see https://github.com/kartik-v/yii2-grid

GridView options

'columns' => [
    [
        'class' => \liyunfang\contextmenu\KartikSerialColumn::className(),
        'contextMenu' => true,
        //'contextMenuAttribute' => 'id',
        //'template' => '{view} {update}', 
        'contentOptions'=>['class'=>'kartik-sheet-style'],
        'headerOptions'=>['class'=>'kartik-sheet-style'],
   ],
    ....
],
'rowOptions' => function($model, $key, $index, $gird){
     $contextMenuId = $gird->columns[0]->contextMenuId;
     return ['data'=>[ 'toggle' => 'context','target'=> "#".$contextMenuId ]];
 },

Resources

github: https://github.com/liyunfang/yii2-contextmenu

该扩展为gird行右击菜单,可以省去操作列。 提供了继承yii2 grid的SerialColumn 和 继承 Kartik gird的SerialColumn。

Be the first person to leave a comment

Please to leave your comment.

Create extension