php - example - CListView en Yii Framework
yii2 gridview example (1)
La propiedad dataProvider
de un CListView
debe ser un CActiveDataProvider
(o un proveedor de datos diferente). Tratar
''dataProvider'' => new CActiveDataProvider($model),
en lugar.
Hola chicos, comencé a trabajar en yii framework y sigo el tutorial de yii blog para aprender los conceptos básicos de yii framework. En este tutorial, han utilizado un ClistView en la vista de publicaciones, pero recibo una excepción.
Este es el código que he usado en el archivo de vista:
$this->breadcrumbs=array(
''Posts''=>array(''index''),
$model->post_id,
);
$this->menu=array(
array(''label''=>''List Posts'', ''url''=>array(''index'')),
array(''label''=>''Create Posts'', ''url''=>array(''create'')),
array(''label''=>''Update Posts'', ''url''=>array(''update'', ''id''=>$model->post_id)),
array(''label''=>''Delete Posts'', ''url''=>''#'', ''linkOptions''=>array(''submit''=>array(''delete'',''id''=>$model->post_id),''confirm''=>''Are you sure you want to delete this item?'')),
array(''label''=>''Manage Posts'', ''url''=>array(''admin'')),
);
?>
<?php if( !empty($_GET[''tag'']) ) : ?>
<h1>Posts Tagged with <em><?php echo CHtml::encode($_GET[''tag'']); ?></em></h1>
<?php endif; ?>
<?php $this->widget(''zii.widgets.CListView'', array(
''dataProvider'' => $model,
''itemView'' => ''_view'',
''template'' => "{items}/n{pager}",
));
Esto es lo que mi PostsController contiene:
/**
* Displays a particular model.
* @param integer $id the ID of the model to be displayed
*/
public function actionView($id)
{
$post = $this->loadModel($id);
$this->render(''view'',array(
''model''=>$post,
));
}
/**
* Returns the data model based on the primary key given in the GET variable.
* If the data model is not found, an HTTP exception will be raised.
* @param integer the ID of the model to be loaded
*/
public function loadModel($id)
{
if( $this->_model === NULL )
{
if( Yii::app()->user->isGuest )
$condition = ''post_status=''.Posts::STATUS_PUBLISHED.'' or post_status=''.Posts::STATUS_ARCHIVED;
else
$condition = '''';
$this->_model = Posts::model()->findByPk($id, $condition);
if($this->_model === NULL)
throw new CHttpException(404, ''The requested page does not exist.'');
}
return $this->_model;
}
No puedo averiguar dónde estoy haciendo mal, por favor, ayúdenme.