【问题标题】:Yii2 render two models on one viewYii2 在一个视图上渲染两个模型
【发布时间】:2015-01-01 10:38:11
【问题描述】:

Yii 是最好的,但是我在将一些代码从 yii1 复制到 yii2 时遇到了一点麻烦,下面我使用 yii 中的代码在一个视图中渲染两个模型,并希望使用 yii2 来复制它。感谢任何帮助。谢谢

VwContractDetailsController

public function actionView($id)//create new dataprovider and pass param from url
    {
        $events=$dataProvider=new CActiveDataProvider('VwContractEvents', array(
            'criteria'=>array(
                'condition'=>'Contractkey_id=:aid',
                'params'=>array(':aid'=>$id)
                ),
                'pagination'=>array( 
            'pageSize'=>2
            ),
                'sort' => array(
        'defaultOrder' => 'EventDate DESC', 
    ),
            ));

$this->render('view',array(
            'model'=>$this->loadModel($id),
            'events'=>$events,

        ));
    }



vwContractEvents Index //provide full path for itemview

<?php $this->widget('zii.widgets.CListView', array(
    'dataProvider'=>$dataProvider,
    'itemView'=>'/vwcontractevents/_view',
    'enablePagination' => true,



)); ?>


vwContractDetails view //render VwcontractEvents/index on vwContractDetails view

<?php
 $this->renderPartial('/VwContractEvents/index',array('dataProvider'=>$events));
?>

【问题讨论】:

    标签: yii2


    【解决方案1】:

    renderPartial() 在yii2 视图中的等价物是:

    yii\base\View::render()
    

    在你渲染的控制器中:

    yii\base\Controller::render()
    

    【讨论】:

    • 在 Yii2 中,有一个 renderPartial 方法只接受 2 个参数,而不是 Yii 1.1 中的 4 个
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-23
    • 2012-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多