В модели Comment нам необходимо поправить методы rules() и attributeLabels().
Метод attributeLabels() возвращает массив заголовков для указанных полей.
Метод relations() исправлять не будем так как код, сгенерированный Gii нам
подходит.
rules() ¶Начнём с уточнения правил валидации, сгенерированных при помощи Gii.
Для комментариев будем использовать следующие правила:
public function rules()
{
return array(
array('content, author, email', 'required'),
array('author, email, url', 'length', 'max'=>128),
array('email','email'),
array('url','url'),
);
}Здесь мы указываем, что атрибуты author, email и content обязательны.
Длина author, email и url не может превышать 128 символов. Атрибут email
должен содержать корректный email-адрес. url должен содержать корректный URL.
attributeLabels() ¶Изменим метод attributeLabels(). Зададим свои подписи атрибутам. Этот метод
возвращает массив пар имя атрибута-подпись.
public function attributeLabels()
{
return array(
'id' => 'Id',
'content' => 'Comment',
'status' => 'Status',
'create_time' => 'Create Time',
'author' => 'Name',
'email' => 'Email',
'url' => 'Website',
'post_id' => 'Post',
);
}Подсказка: Если подпись атрибута не задана в
attributeLabels(), для её генерации используется специальный алгоритм. К примеру, для атрибутовcreate_timeиcreateTimeподпись будет выглядеть какCreate Time.
Для того, чтобы записывать время создания комментария, переопределим
метод beforeSave() класса Comment также, как это сделано для модели Post:
protected function beforeSave()
{
if(parent::beforeSave())
{
if($this->isNewRecord)
$this->create_time=time();
return true;
}
else
return false;
}
Found a typo or you think this page needs improvement?
Edit it on github !
Signup or Login in order to comment.