[ 'class' => 'common\behaviors\Slug', 'in_attribute' => 'title', 'out_attribute' => 'translit', 'translit' => true, ], [ 'class' => SaveImgBehavior::className(), ], ]; } /** * @inheritdoc */ public function rules() { return [ [ [ 'date' ], 'default', 'value' => function() { return time(); }, ], [ [ 'date', 'date_end', ], 'safe', ], [ [ 'title', 'body', ], 'required', ], [ [ 'body', 'body_preview', 'seo_text', ], 'string', ], [ [ 'title', 'image', 'translit', 'meta_title', 'meta_keywords', 'meta_description', 'h1', ], 'string', 'max' => 255, ], [ [ 'imageUpload' ], 'safe', ], [ [ 'imageUpload' ], 'file', 'extensions' => 'jpg, gif, png', ], [ [ 'date', 'date_end', ], 'filter', 'filter' => function($value) { return strtotime($value) ? : time(); }, ], [ [ 'categoryItems', ], 'safe', ], ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'id' => 'ID', 'date' => 'Дата публикации', 'date_end' => 'Date end', 'title' => 'Название', 'body' => 'Текст', 'body_preview' => 'Текс (предпросмотр)', 'image' => 'Image', 'imageUrl' => Yii::t('app', 'Image'), 'translit' => 'Translit', 'meta_title' => 'Meta Title', 'meta_keywords' => 'Meta Keywords', 'meta_description' => 'Meta Description', 'seo_text' => 'Seo Text', 'h1' => 'H1', 'imageUpload' => 'Картинка', 'categoryItems' => 'Категории', ]; } public function getImageFile() { return empty( $this->image ) ? NULL : Yii::getAlias('@imagesDir/blog/' . $this->image); } public function getImageUrl() { return empty( $this->image ) ? NULL : Yii::getAlias('@imagesUrl/blog/' . $this->image); } /** * @return ActiveQuery */ public function getCategories() { return $this->hasMany(BlogCategory::className(), [ 'id' => 'category_id' ]) ->viaTable('blog_to_category', [ 'blog_id' => 'id' ]); } public function getCategoryItemsAsArray() { return BlogCategory::find() ->select('name') ->indexBy('id') ->asArray() ->column(); } public function getCategoryItems() { return $this->_categoryItems; } public function setCategoryItems($items) { $this->_categoryItems = $items; } }