未定义变量当变量定义为yii时



这是否未定义?!它说dataProvider没有定义。顺便说一句,我确实读过这个。这是否意味着我必须列出视图中的每个项目?不按它说的去做。

noob问题。很抱歉

  public function actionIndex()
{
    $id=1;
    $dataProvider = new CArrayDataProvider(array(
            array('product_name'=>Product::model()->product_name,
                'inventory_id'=>Product::model()->inventory_id,
                'product_price'=>Product::model()->product_price,
    ),
    $this->render('index',array(
            'model'=>$this->loadModel($id),
            'dataProvider'=>$dataProvider,
            ))
    ));     
}   

查看

<div class="widget-body">
    <?php $this->widget('bootstrap.widgets.TbDetailView', array(
             'type'=>'striped bordered condensed',
            'dataProvider'=>$dataProvider,
            'columns'=>array(
                array('name'=>'product_name', 'header'=>'Product Name'),
                 array('name'=>'inventory_id', 'header'=>'Inventory ID'),
                array('name'=>'product_price', 'header'=>'Price'),
                array(
                     'class'=>'bootstrap.widgets.TbButtonColumn',
                    'htmlOptions'=>array('style'=>'width: 50px'),
                ),
                ),
    )); ?>

TbDetailView应该显示单个模型,您不需要任何数据提供程序。

控制器代码:

public function actionIndex()
{
    $id=1;
    $this->render('index', array(
        'model'=>$this->loadModel($id),
    ));
}

视图:

<?php $this->widget('bootstrap.widgets.TbDetailView', array(
    'type'=>'striped bordered condensed',
    'data'=>$model,
    'attributes'=>array(
        'product_name',
        'inventory_id',
        'product_price',
    ),
)); ?>

最新更新