Yii наследуют attributeLabels - PullRequest
       0

Yii наследуют attributeLabels

2 голосов
/ 07 ноября 2011

В Yii php framework я использую наследование.

В моем AbstractModel у меня есть этот метод:

public function attributeLabels()
    {
        return array(
            '0'=>Yii::t('default','No'),
            '1'=>Yii::t('default','Yes'),
        );
    } 

В моем объекте, который расширяет AbstractModel, у меня есть этот метод:

public function attributeLabels()
    {
        return array(
            'username' => Yii::t('user', 'email'),

        );
    }

В файле представления я использую:

<?php echo CHtml::activeLabel($model, $model->property);?>

Но я никогда не показываю «Нет» или «Да» из asbtractModel.Если я положу все в моей модели, это работает.Но я хочу использовать наследование.Как я могу объединить родительский attributeLabels с текущей моделью attributeLabels?

1 Ответ

5 голосов
/ 07 ноября 2011

Просто объедините возвращаемое значение родительского метода в MyObject (класс модели):

  public function attributeLabels() {
    return array_merge(
      parent::attributeLabels(),
      array(
        'username' => Yii::t('user', 'email'),
      )
    );
  }

Вы также можете использовать CMap :: mergeArray () .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...