我建议你使用过滤器。在需要完整配置文件的每个控制器中添加以下代码:
公共功能过滤器(){
返回数组(
'completedProfile + method1, method2, method3', // 在此处替换您的操作
);
}
在您的基本控制器中(如果您不使用基本控制器,则在任何控制器中)您需要使用类似代码创建名为 completedProfile 的过滤器:
公共函数 filterCompletedProfile($filterChain) {
$criteria = 新 CDBCriteria(数组(
'condition' => 'id = :id AND firstname IS NOT NULL AND lastname IS NOT NULL',
'params' => array(':id' => Yii::app()->user->getId())
));
$count = User::model()->count($criteria);
如果 ($count == 1) {
$filterChain->run();
} 别的 {
$this->redirect(array('user/profile'));
}
}