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()-function 正在创建一个 $dataProvider 并将其传递给视图。

在您的 renderPartial 调用中,您没有传递 $dataProvider。如果您在控制器操作中创建了它,请确保将其传递(否则您可能必须从另一个控制器复制代码):

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