2015-03-11 5 views
0

У меня есть вопрос, какYii :: приложение() -> getModule ('пользователь') возвращает 'Попытка получить свойство не-объект'

Yii::app()->getModule('user') is not returning the right value view/layout/main.php

, но у меня есть в другом случае, когда я не могу смоделировать его, и он использовал правильное расширение. в основной конфигурации

'application.models.*', 
    'application.components.*', 
    'application.modules.rights.*', 
    'application.modules.rights.components.*', 



     'rights'=>array(
     'superuserName'=>'Admin', // Name of the role with super user privileges. 
     'authenticatedName'=>'Authenticated', // Name of the authenticated user role. 
     'userIdColumn'=>'id', // Name of the user id column in the database. 
     'userNameColumn'=>'username', // Name of the user name column in the database. 
     'enableBizRule'=>true, // Whether to enable authorization item business rules. 
     'enableBizRuleData'=>false, // Whether to enable data for business rules. 
     'displayDescription'=>true, // Whether to use item description instead of name. 
     'flashSuccessKey'=>'RightsSuccess', // Key to use for setting success flash messages. 
     'flashErrorKey'=>'RightsError', // Key to use for setting error flash messages. 
     'install'=>false, // Whether to enable installer. 
     'debug'=>false, // Whether to enable debug mode. 
    ), 

, а затем мне нужно обновить это приложение, чтобы использовать пользовательское расширение .. я пытался и результат:

Trying to get property of non-object 


    <?php $this->widget('zii.widgets.CMenu',array(
     'items'=>array(
      array('url'=>Yii::app()->getModule('user')->loginUrl, 'label'=>Yii::app()->getModule('user')->t("Login"), 'visible'=>Yii::app()->user->isGuest), 

<
обновленного>
прямо сейчас я получил другую ошибку:

Trying to get property of non-object 

public function tableName() 
{ 
    return Yii::app()->getModule('user')->tableUsers; 
} 

in \ protected \ mo \ пользователь Модули: \ модели \ User.php (41)

мой код в конфигурации магистральный я обновить как:

 'modules'=>array(
     'user'=>array(
      'tableUsers' => 'tbl_users', 
      'tableProfiles' => 'tbl_profiles', 
      'tableProfileFields' => 'tbl_profiles_fields', 

любая идея, где моя вина? * sory если у меня плохая грамматика.

ответ

0
SOLVED 

в конфигурации главного

'rights'=>array(
     'superuserName'=>'Admin', // Name of the role with super user privileges. 
     'authenticatedName'=>'Authenticated', // Name of the authenticated user role. 
     'userIdColumn'=>'id', // Name of the user id column in the database. 
     'userNameColumn'=>'username', // Name of the user name column in the database. 
     'enableBizRule'=>true, // Whether to enable authorization item business rules. 
     'enableBizRuleData'=>false, // Whether to enable data for business rules. 
     'displayDescription'=>true, // Whether to use item description instead of name. 
     'flashSuccessKey'=>'RightsSuccess', // Key to use for setting success flash messages. 
     'flashErrorKey'=>'RightsError', // Key to use for setting error flash messages. 
     //'baseUrl'=>'/rights', // Base URL for Rights. Change if module is nested. 
     //'layout'=>'rights.views.layouts.main', // Layout to use for displaying Rights. 
     //'appLayout'=>'application.views.layouts.main', // Application layout. 
     //'cssFile'=>'rights.css', // Style sheet file to use for Rights. 
     'install'=>false, // Whether to enable installer. 
     'debug'=>false, // Whether to enable debug mode. 
    ), 
    'user'=>array(
     'hash' => 'md5', 
     'tableUsers' => 'tbl_users', 
     'tableProfiles' => 'tbl_profiles', 
     'tableProfileFields' => 'tbl_profiles_fields', 

и ничего в модуле не меняется .. и это работает ,, как магия .. лол