2014-11-05 5 views
2

Yii - лучший, но у меня есть небольшая проблема с воспроизведением некоторого кода от yii1 до yii2, ниже я использую код в yii для рендеринга двух моделей в одном представлении и как повторить это, используя yii2. Благодарен за любую помощь. благодаря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)); 
?> 

ответ

3

Эквивалент renderPartial() в yii2 зрения:

yii\base\View::render() 

В контроллере вы визуализации с:

yii\base\Controller::render() 
+0

Спасибо Али, который помог разобраться. cheers – davidndunoon

+0

@davidndunoon Добро пожаловать, дорогая –

+0

В Yii2 существует метод renderPartial, который принимает только 2 аргумента вместо 4 в Yii 1.1 –

Смежные вопросы