رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
اشکال در اجرای متد getType از کامپوننت User (حل شد)
#1
سلام
با آرزوی قبولی عبادتهای شما
میخواستم وقتی کاربری لاگین کرد نوع دسترسی اورا بدانم برای این منظور در جدول 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 بدون خطا برنامه اجرا شد
لطفا راهنمایی کنید
با تشکر
پاسخ
تشکر شده توسط:
#2
فیلدهای id و name توی کامپوننت CUserIdentity و همچنین متدهای دستیابی get__ و set__ اون تعریف شدن از قبل و شما اگه بخواین چیزی اضافه کنید، باید کلاس CUserIdentity رو تغییر بدین. راه مناسبتر اینه:
Yii::app()->user-setState('userType', $user->type);

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




کاربران در حال بازدید این موضوع: 1 مهمان