2014-02-11 47 views
0

我使用yiibooster但這種模式的dataProvider看起來是未定義試圖在一個模式窗口從另一個模型視圖加載索引視圖:YiiBooster模態數據提供程序未定義

<?php $this->beginWidget(
    'bootstrap.widgets.TbModal', 
    array('id' => 'documentacion') 
); ?> 
    <div class="modal-header"> 
     <a class="close" data-dismiss="modal">&times;</a> 
     <h4>Documentación</h4> 
    </div> 
    <?php 
     $doc = new ZfDocumentacionInmueble; 
     $this->renderPartial('//ZfDocumentacionInmueble/index', array('model'=>$doc)); 
    ?> 
    <div class="modal-footer"> 
     <?php $this->widget(
      'bootstrap.widgets.TbButton', 
      array(
       'label' => 'Cerrar', 
       'url' => '#', 
       'htmlOptions' => array('data-dismiss' => 'modal'), 
      ) 
     ); ?> 
    </div> 
<?php $this->endWidget(); ?> 

    ERROR: Undefined variable: dataProvider 

的感謝!

錯誤:

C:\APP\htdocs\yii\yiitest\protected\views\zfDocumentacionInmueble\index.php(6) 

1 <?php 
2 /* @var $this ZfDocumentacionInmuebleController */ 
3 /* @var $dataProvider CActiveDataProvider */ 
4 
5 $this->widget('zii.widgets.CListView', array(
6  'dataProvider'=>$dataProvider, 
7  'itemView'=>'_view', 
8)); ?> 

控制器代碼:

public function actionIndex() 
    { 
     $dataProvider=new CActiveDataProvider('ZfDocumentacionInmueble'); 
     $this->render('index',array(
      'dataProvider'=>$dataProvider, 
     )); 
    } 
+0

您是否有更多信息?就像你在哪一行得到錯誤?除非ZfDocumentationInmueble包含某些內容,否則我不會看到與dataProvider有關的任何內容。 – Blizz

+0

請參閱編輯:) –

+0

我試過使用真實的URL,並且一切都很順利www.example.com/ZfDocumentacionInmueble/index –

回答

0

如果 「真正的URL」 的作品,那麼ZfDocumentacionInmueble::actionIndex() -function是創建$ dataProvider,並將它傳遞給視圖。

在你的RenderPartial電話,你不會把一個$數據提供程序。如果您在控制器操作中創建了它,請務必將其傳遞(否則您可能需要從其他控制器複製代碼):

$this->renderPartial('//ZfDocumentacionInmueble/index', array('model'=>$doc, 'dataProvider' => $dataProvider)); 
+0

同樣的錯誤T_T仍然未定義 –

+0

您的控制器行爲是否實際創建dataProvider?只是讓我建議將不會改變任何東西,如果它不傳遞到你的觀點擺在首位 – Blizz

+0

控制器具有dataProvider中的變化,檢查編輯:d –