plantillas para modulos layouts framework formularios ejemplos php ajax listview yii2 yii2-advanced-app

php - para - yii framework+ejemplos



Yii2 renderAjax anidado Listview (1)

en realidad, la lista de elementos de vista no tiene que acceder a las variables externas que se han enviado a través del widget. Sin embargo, si tiene que usar la variable $dataProvider en su archivo de vista interna, intente utilizar invocable para mostrar elementos en su vista de lista.

algo como esto:

`` `

echo ListView::widget([ ''dataProvider'' => $dataProvider, ''itemView'' => function ($model, $key, $index, $widget) { return $this->renderAjax(''items'', [ ''dataProvider'' => $widget->dataProvider, ]); }, ''options'' => [''class'' => ''list-view-post''], ''summary'' => '''', ''emptyText'' => '''', ]);

`` `

más información aquí

http://www.yiiframework.com/doc-2.0/yii-widgets-listview.html# $ itemView-detail

Estoy tratando de mostrar la lista por ajax, pero me está dando el siguiente error:

Exception (Invalid Configuration) 'yii/base/InvalidConfigException' with message &#039 ;The "dataProvider" property must be set.

Controlador:

public function actionLoadListviewAjax() { $dataProvider = // call to a function which returns ArrayDataProvider return $this->renderAjax(''myview'', [ ''dataProvider'' => $dataProvider ]); }

Ver:

echo ListView::widget([ ''dataProvider'' => $dataProvider, ''itemView'' => ''items'', ''options'' => [''class'' => ''list-view-post''], ''summary'' => '''', ''emptyText'' => '''', ]);

$ dataProvder:

<pre>yii/data/ArrayDataProvider Object ( [key] => [allModels] => Array ( [0] => Array ( [RecommendationCategory] => [ID] => 37 [GUID] => [Title] => test [WallPostTypeID] => 1 [RecommendationCategoryID] => 0 [CommentsJSON] => [TotalComments] => [PostedMessage] => test [FirstName] => test [LastName] => test [ProfileImagePath] => Lighthouse.jpg [AddedOn] => 2015-07-18 15:14:06 [ImagePath] => [CommentProfileImagePath] => [IsSubscribe] => 1 ) ) [id] => [_sort:yii/data/BaseDataProvider:private] => [_pagination:yii/data/BaseDataProvider:private] => [_keys:yii/data/BaseDataProvider:private] => [_models:yii/data/BaseDataProvider:private] => [_totalCount:yii/data/BaseDataProvider:private] => [_events:yii/base/Component:private] => Array ( ) [_behaviors:yii/base/Component:private] => )

Intenté renderPartial también, pero sigue siendo el mismo error. ¿Alguna idea de por qué está dando la excepción?

Actualizar:

En mis elementos del archivo itemView, tengo otra vista de lista para la que se está dando la excepción.