تالار گفتمان nCIS.ir

نسخه‌ی کامل: اشکال در اجرای متد getType از کامپوننت User (حل شد)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام
با آرزوی قبولی عبادتهای شما
میخواستم وقتی کاربری لاگین کرد نوع دسترسی اورا بدانم برای این منظور در جدول users در پروژه blog فیلد type را اضافه کردم و در فایل UserIdentity تغییرات مورد نظر را ایجاد کردم
class UserIdentity extends CUserIdentity
{
   private $_id;
   private $_name;
   private $_type;
و در ادامه
            $this->_id = $user->id;
            $this->_name = $user->name;
           $this->_type = $user->type;

و همینطور
    public function getId()
    {
       return $this->_id;
   }

   public function getName()
   {
       return $this->_name;
   }

   public function getType()
   {
       return $this->_type;
   }

و در محلی که میخواستم مقدار type را توسط کد زیر بخوانم با خطا مواجه شدم
 echo CHtml::encode(Yii::app()->user->type);

در صورتیکه برای متغیر های id و name بدون خطا برنامه اجرا شد
لطفا راهنمایی کنید
با تشکر
فیلدهای id و name توی کامپوننت CUserIdentity و همچنین متدهای دستیابی get__ و set__ اون تعریف شدن از قبل و شما اگه بخواین چیزی اضافه کنید، باید کلاس CUserIdentity رو تغییر بدین. راه مناسبتر اینه:
Yii::app()->user-setState('userType', $user->type);

و بعد هرجا خواستین، با Yii::app()->user->getState('userType') اون رو بخونید. مزیت state ها اینه که با لاگ اوت شدن کاربر، از بین میرن.