2016-03-25 20 views
0

Yardıma ihtiyaciniz var mi? YII2’de yeniyim. ızgarayı oluşturmaya çalışıyor. Lütfen yardım edin.Tanımsız değişken: veriProvider in yii2

alma sonrasında hata
PHP Bildirimi - yii \ baz \ ErrorException Tanımsız değişken: dataProvider

İşte

echo GridView::widget([ 
     'dataProvider' => $dataProvider, 
     'filterModel' => $searchModel, 
     'columns' => $gridColumns, 
     'containerOptions' => ['style'=>'overflow: auto'], // only set when $responsive = false 
     'beforeHeader'=>[ 
      [ 
       'columns'=>[ 
        ['content'=>'Header Before 1', 'options'=>['colspan'=>4, 'class'=>'text-center warning']], 
        ['content'=>'Header Before 2', 'options'=>['colspan'=>4, 'class'=>'text-center warning']], 
        ['content'=>'Header Before 3', 'options'=>['colspan'=>3, 'class'=>'text-center warning']], 
       ], 
       'options'=>['class'=>'skip-export'] // remove this row from export 
      ] 
     ], 
     'toolbar' => [ 
      ['content'=> 
       Html::button('<i class="glyphicon glyphicon-plus"></i>', ['type'=>'button', 'title'=>Yii::t('kvgrid', 'Add Book'), 'class'=>'btn btn-success', 'onclick'=>'alert("This will launch the book creation form.\n\nDisabled for this demo!");']) . ' '. 
       Html::a('<i class="glyphicon glyphicon-repeat"></i>', ['grid-demo'], ['data-pjax'=>0, 'class' => 'btn btn-default', 'title'=>Yii::t('kvgrid', 'Reset Grid')]) 
      ], 
      '{export}', 
      '{toggleData}' 
     ], 
     'pjax' => true, 
     'bordered' => true, 
     'striped' => false, 
     'condensed' => false, 
     'responsive' => true, 
     'hover' => true, 
     'floatHeader' => true, 
     'floatHeaderOptions' => ['scrollingTop' => $scrollingTop], 
     'showPageSummary' => true, 
     'panel' => [ 
      'type' => GridView::TYPE_PRIMARY 
     ], 
    ]); 
+0

tam kodunuzu gönderin. – GAMITG

+0

Sorunuza dahil etmeyi unuttuğunuz kodu * yanıtlamanız gerekir. Bunu yapmak için yeterince mantıklı olamam. – Flexo

+0

@ Flexo ♦: Ben sadece stackoverflow kullanmaya başladım .. Kurallarla familliar değildim. Şimdi ben soru ve cevap gönderme, düzenleme vb. Hakkında her şeyi öğrendim .. ama ne yazık ki bloke ve şimdi yeni soru göndermek ve aşağıdaki hatayı alıyorum. Soru limitinize ulaştınız Üzgünüz, artık bu hesaptan soruları kabul etmiyoruz. Daha fazla bilgi edinmek için Yardım Merkezi'ne bakın. Bu yasaklardan nasıl çıkacağınız konusunda yardım edebilirsiniz. Gönderdiğim tüm soruları zaten düzenledim. –

cevap

0

Kumandanızda size tüm değişkenleri geçmelidir ifadesinin sonundaki çağrı hale yöntemine görünümünde olmalıdır kontrolör:

return $this->render('viewName', [ 
    'dataProvider' => $dataProvider, 
    // ... Other fields 
]); 

Ya da bunun gibi compact() çağırabilirsiniz:

return $this->render('viewName', compact('dataProvider')); 

Ayrıca bkz .: Yii2 actions

Bu yardımcı olur umarım.

1

Kişisel görünümü DataProvider'ın geçmesi beklediği benim Kontrolör Kodu olduğu denetleyicinizin eyleminde değişken. Yani

Eğer kontrolör eylem böyle bir şey olduğundan emin olun:

return $this->render('index', [ 
    'dataProvider' => $dataProvider, 
]); 
+0

Bunu denetleyici kodumda da yaptım ama yine de "Tanımsız değişken: dataProvider" gösteriliyor –

+0

@vijaynathji Kontrolörün eylemini bize göstermeniz kesinlikle gerekir –

+0

Bu hatayı hangi URL'ye alıyorsunuz? Doğru denetleyici/görünüm dosyalarını düzenlediğinizden emin misiniz? – ttdijkstra