0

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,
        ));
    }
4

1 に答える 1

0

「実際の URL」が機能する場合、ZfDocumentacionInmueble::actionIndex()関数は $dataProvider を作成し、それをビューに渡します。

renderPartial 呼び出しでは、$dataProvider を渡しません。コントローラーアクションで作成した場合は、必ずそれを渡してください (または、他のコントローラーからコードをコピーする必要がある場合があります)。

$this->renderPartial('//ZfDocumentacionInmueble/index', array('model'=>$doc, 'dataProvider' => $dataProvider));
于 2014-02-11T09:56:39.600 に答える