[英]Redirect to create page if CGridview is empty Yii
如果Yii CGridview在管理页面中没有数据,我想重定向到创建页面。o / w redirect show CGridview with content。
例:
Yii CGridview显示空记录的“ emptyText” =>“找不到数据” ,然后我想编写简单的脚本以重定向回创建页面。
我该如何实现?
假设您处于actionAdmin中,并且正在使用CActiveDataProvider,则可以这样编写
$dataProvider=new CActiveDataProvider('Post', array(
'criteria'=>array(
'condition'=>'status=1',
'order'=>'create_time DESC',
'with'=>array('author'),
),
),
));
if($dataProvider->totalItemCount < 1)
{
$this->redirect(where ever you want);
}
如果您使用的是findAll,则可以编写
$models=YourModel::model()->findAll();
if(count($models)<1)
{
$this->redirect(where ever you want);
}
您只需要两行。 将其放在$this->render(...)
之前的控制器动作中:
if(intval(YourModelName::model()->count()) == 0)
$this->redirect('create');
您应该在控制器中执行此操作。 您认为
$this->widget('CGridView',array(
'dataProvider'=>$model->search(),
在控制器中执行搜索,检查CActiveDataProvider是否没有返回记录,如果没有返回记录,则进行重定向。 我相信您可以使用CActiveDataProvider的getItemCount方法,请参阅此处的更多信息http://www.yiiframework.com/doc/api/1.1/CDataProvider#getItemCount-detail
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.