2017-06-20 2 views
1

J'ai créé un site Web en utilisant le framework yii2. Aussi j'ai utilisé le générateur Gii pour mon crud. Maintenant, j'ai installé une extension kartik gridview. Maintenant, je veux est à l'intérieur du kartikGridview je veux créer une instruction if else, mais j'ai eu une erreur. Oui, je peux le faire mais en dehors de la kartik gridview. Toute suggestion les gars? Ceci est mon index gridview:Yii2 Insérer une instruction else else dans la vue dataGrid

<?= GridView::widget([ 
'id'=>'kv-grid-demo', 
'dataProvider'=>$dataProvider, 
'filterModel'=>$searchModel, 
'columns'=> [ 
     // ['class' => 'yii\grid\SerialColumn'], 
     // 'report_id', 
     'reference_no', 
     'subject', 
      [ 
       'attribute' => 'doc_date', 
       'filter'=>DatePicker::widget([ 
       'model' => $searchModel, 
       'attribute' => 'doc_date', 
       'removeButton' => false, 
       'pluginOptions' => [ 
        'autoclose'=>true, 
        'format' => 'yyyy-mm-dd', 
       ], 
       ]) 
      ], 

      [ 
       'attribute' => 'for', 
       'value' => 'namefor.fullName', 
      ], 
      [ 
       'attribute' => 'from', 
       'value' => 'namefrom.fullName', 
      ], 
      [ 
      'attribute' => 'drawer_id', 

      ], 
      'user_id', 
      'doc_name', 
     // 'doc_file', 
    [ 
    'class' => 'yii\grid\ActionColumn', 

    ], 
    ], 
'containerOptions'=>['style'=>'overflow: auto'], // only set when $responsive = false 
'headerRowOptions'=>['class'=>'kartik-sheet-style'], 
'filterRowOptions'=>['class'=>'kartik-sheet-style'], 
'pjax'=>true, // pjax is set to always true for this demo 
'panel' => [ 
'type' => GridView::TYPE_PRIMARY, 
'heading' => '<h3 class="panel-title"><i class="fa fa-files-o"></i> Documents</h3>', 
'responsive'=>true, 
'hover'=>true, 
// 'after' => true, 
// 'showFooter' => true, 
'showFooter' => true, 
], 
// set your toolbar 

'toolbar'=> [ 

    // Html::button('<i class="glyphicon glyphicon-plus"></i>', ['type'=>'button', 'title'=>Yii::t('kvgrid', 'Add Book'), 'class'=>'btn btn-success']) . ' '. 
    '{export}', 
    '{toggleData}', 
], 

// set export properties 
'export'=>[ 
    'fontAwesome'=>true 
], 
'exportConfig' => [ 
    GridView::PDF => [ 
'filename' => 'Documents', 
'config' => [ 
    'methods' => [ 
    'SetHeader' => [ 
     ['odd' => $pdfHeader, 'even' => $pdfHeader] 
    ], 
    'SetFooter' => [ 
     ['odd' => $pdfFooter, 'even' => $pdfFooter] 
    ], 
    ], 
    'options' => [ 
    'title' => 'Documents', 
    'subject' => 'Documents', 
    'keywords' => 'pdf, Documents, export, other, keywords, here' 
    ], 
] 

Comment insérer ce si le code d'autre?

<?php 
    if(Yii::$app->user->identity->isUser()) 
    { 
    }else{ ?> 
      <p> 
      <?=Html::a('<i class="fa fa-plus"></i>&nbsp;Create',['create'],['class' => 'btn btn-success']) ?> 
      </p> 
     <?php } ?> 

À cette ligne?

'toolbar'=> [ 

    '{export}', 
    '{toggleData}', 
], 

Répondre

0

Construct $toolbar tableau à l'avance:

$toolbar = []; 
// Add dynamic values 
if (!Yii::$app->user->identity->isUser()) { 
    $toolbar[] = '<p>' . Html::a('<i class="fa fa-plus"></i>&nbsp;Create', ['create'], ['class' => 'btn btn-success']) . '</p>'; 
} 
// Add permanent values 
$toolbar = array_merge($toolbar, [ 
    '{export}', 
    '{toggleData}', 
]); 

et passer à toolbar option GridView:

<?= GridView::widget([ 
    // Other options 
    'toolbar' => $toolbar, 
    // Other options 
]) ?> 
+1

Merci pour l'aide :) Vous êtes tellement incroyable. Cela fonctionne: D –