2014-09-18 35 views
1

在我的models/User.php如何爲我的gravatar調用小部件?它甚至可能/明智嗎?或者我應該只在我的視圖中調用小部件?用戶模型中的gravatar

這是我的功能

public function getAvatar() { 

      $user = User::model()->findByPk(Yii::app()->user->id); 

      $id = $user->id; 
      $dir = 'uploads/user'; 
      $img = $user->avatar_link; 
      $full_img_dir = './'.$dir.'/'.$id.'/'.$img; 

     if (!empty($img) && file_exists($full_img_dir)) 
     { 
       return Yii::app()->request->baseUrl.'/'.$dir.'/'.$id.'/'.$img; 
     } 
     else 
     { 
      $this->widget('site.common.extensions.yii-gravatar.YiiGravatar', array(
          'email'=>$user->email, 
          'size'=>100, 
          'defaultImage'=>'mm', 
          'secure'=>true, 
          'rating'=>'pg', 
          'emailHashed'=>md5, 
        )); 
     } 
    } 

這是我得到

User and its behaviors do not have a method or closure named "widget". 
+3

Widget是'VIEW'的一部分。由此,你正在打破「MVC」架構。 – 2014-09-18 17:54:33

+0

嗯,謝謝你的擡頭。新的MVC。 – user2636556 2014-09-18 17:55:58

回答