256), array('title', 'length', 'max' => 512), array('data, description, keywords', 'safe'), // The following rule is used by search(). // Please remove those attributes that should not be searched. array('section, key, lang, name, data, title, description, keywords', 'safe', 'on' => 'search'), ); } /** * @return array relational rules. */ public function relations() { // NOTE: you may need to adjust the relation name and the related // class name for the relations automatically generated below. return array( 'staticPage' => array(self::BELONGS_TO, 'StaticPage', 'key'), ); } /** * @return array customized attribute labels (name=>label) */ public function attributeLabels() { return array( 'section' => 'Section', 'key' => 'Key', 'lang' => 'Lang', 'name' => 'Название страницы', 'data' => 'Data', 'title' => 'Заголовок', 'description' => 'Описание', 'keywords' => 'Ключевые слова', ); } /** * Retrieves a list of models based on the current search/filter conditions. * @return CActiveDataProvider the data provider that can return the models based on the search/filter conditions. */ public function search() { // Warning: Please modify the following code to remove attributes that // should not be searched. $criteria = new CDbCriteria; $criteria->compare('section', $this->section, true); $criteria->compare('key', $this->key, true); $criteria->compare('lang', $this->lang, true); $criteria->compare('name', $this->name, true); $criteria->compare('data', $this->data, true); $criteria->compare('title', $this->title, true); $criteria->compare('description', $this->description, true); $criteria->compare('keywords', $this->keywords, true); return new CActiveDataProvider($this, array( 'criteria' => $criteria, )); } private $_data = null; /** * @return array */ public function getDataAttributes() { if (!isset($this->_data)) { $this->_data = unserialize($this->data); } if (!is_array($this->_data)) $this->_data = array(); return $this->_data; } /** * @param array $data */ public function setDataAttributes($data) { $this->_data = $data; $this->data = serialize($data); } }