SaveImgBehavior::className(), 'fields' => [ [ 'name' => 'image', 'directory' => 'brands', ], ], ], 'slug' => [ 'class' => 'common\behaviors\Slug', 'in_attribute' => 'name', 'out_attribute' => 'alias', 'translit' => true, ], ]; } /** * @inheritdoc */ public function rules() { return [ [ [ 'name', 'description', ], 'string', ], [ [ 'brand_name_id', 'sort', ], 'integer', ], [ [ 'in_menu' ], 'boolean', ], [ [ 'meta_desc', 'seo_text', ], 'string', ], [ [ 'alias', 'name', ], 'string', 'max' => 250, ], [ [ 'meta_title', 'image', ], 'string', 'max' => 255, ], [ [ 'meta_robots' ], 'string', 'max' => 50, ], [ [ 'imageUpload' ], 'safe', ], [ [ 'imageUpload' ], 'file', 'extensions' => 'jpg, gif, png', ], ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'name' => Yii::t('product', 'Name of the brand'), 'brand_id' => Yii::t('product', 'Brand ID'), 'brand_name_id' => Yii::t('product', 'Brand Name ID'), 'alias' => Yii::t('product', 'Alias'), 'image' => Yii::t('product', 'Image'), 'imageUrl' => Yii::t('product', 'Image'), 'meta_title' => Yii::t('product', 'Meta Title'), 'meta_desc' => Yii::t('product', 'Meta Desc'), 'meta_robots' => Yii::t('product', 'Meta Robots'), 'seo_text' => Yii::t('product', 'Seo Text'), 'in_menu' => Yii::t('product', 'Выводить в меню'), 'description' => Yii::t('product', 'Описание'), 'sort' => Yii::t('product', 'Порядок'), ]; } /** * @return \yii\db\ActiveQuery */ public function getProducts() { return $this->hasMany(Product::className(), [ 'brand_id' => 'brand_id' ]); } public function getImageFile() { return empty($this->image) ? null : '/storage/brands/' . $this->image; } public function getImageUrl() { return empty($this->image) ? null : '/storage/brands/' . $this->image; } }