2012-04-04 19 views
5

Hola chicos He empezado a trabajar en el marco yü y estoy siguiendo el tutorial del blog yü para aprender lo básico de marco yü en este tutorial que han utilizado una CListView en los puestos de vista, pero me estoy haciendo una excepción enter image description hereCListView en el Marco Yu


Este es el código que he utilizado 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 contiene mi PostsController:

/** 
    * 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 encontrar dónde estoy haciendo mal por favor, ayúdame.

Respuesta

4

La propiedad dataProvider de CListView debe ser CActiveDataProvider (o un proveedor de datos diferente). Pruebe

'dataProvider' => new CActiveDataProvider($model), 

en su lugar.

+0

funciona ..... thnx por la ayuda :) –

Cuestiones relacionadas