You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							85 lines
						
					
					
						
							2.1 KiB
						
					
					
				
			
		
		
	
	
							85 lines
						
					
					
						
							2.1 KiB
						
					
					
				| <?php | |
|  | |
| namespace core\entities; | |
|  | |
| use yiidreamteam\upload\ImageUploadBehavior; | |
| use yii\db\ActiveRecord; | |
| use yii\web\UploadedFile; | |
| use Yii; | |
|  | |
| /** | |
|  * @property integer $id | |
|  * @property string $title | |
|  * @property string $tagline | |
|  * @property string $image | |
|  * @property string $url | |
|  * @property integer $sort | |
|  * | |
|  * @mixin ImageUploadBehavior | |
|  */ | |
| class Slider extends ActiveRecord | |
| { | |
|  | |
| 	const SCENARIO_UPDATE = 'update'; | |
| 	const SCENARIO_CREATE = 'create'; | |
|  | |
|     public static function create($title, $tagline, $url, $sort): self | |
|     { | |
|         $slider = new static(); | |
|         $slider->title = $title; | |
|         $slider->tagline = $tagline; | |
|         $slider->url = $url; | |
|         $slider->sort = $sort; | |
|         return $slider; | |
|     } | |
|  | |
| 	public function setImage(UploadedFile $image): void | |
| 	{ | |
| 		$this->image = $image; | |
| 	} | |
|  | |
|     public function edit($title, $tagline, $url, $sort): void | |
|     { | |
|         $this->title = $title; | |
|         $this->tagline = $tagline; | |
|         $this->url = $url; | |
|         $this->sort = $sort; | |
|     } | |
|  | |
|     public static function tableName(): string | |
|     { | |
|         return '{{%slider}}'; | |
|     } | |
|  | |
|     public function attributeLabels() { | |
| 	    return [ | |
| 	    	'title' => Yii::t('slider', 'Title'), | |
| 		    'tagline' => Yii::t('slider', 'Tagline'), | |
| 		    'image' => Yii::t('slider', 'Image'), | |
| 		    'url' => Yii::t('slider', 'URL'), | |
| 		    'sort' => Yii::t('slider', 'Sort'), | |
| 	    ]; | |
|     } | |
|  | |
| 	public function behaviors(): array | |
| 	{ | |
| 		return [ | |
| 			[ | |
| 				'class' => ImageUploadBehavior::class, | |
| 				'attribute' => 'image', | |
| 				'createThumbsOnRequest' => true, | |
| 				'filePath' => '@staticRoot/origin/slider/[[id]].[[extension]]', | |
| 				'fileUrl' => '@static/origin/slider/[[id]].[[extension]]', | |
| 				'thumbPath' => '@staticRoot/cache/slider/[[profile]]_[[id]].[[extension]]', | |
| 				'thumbUrl' => '@static/cache/slider/[[profile]]_[[id]].[[extension]]', | |
| 				'thumbs' => [ | |
| 					'admin' => ['width' => 150, 'height' => 60], | |
| 					'thumb' => ['width' => 400, 'height' => 150], | |
| 					'1920_671' => ['width' => 1920, 'height' => 671], | |
| 					//'origin' => ['processor' => [new WaterMarker(1024, 768, '@frontend/web/image/logo.png'), 'process']], | |
| 					'origin' => ['width' => 1920, 'height' => 1080], | |
| 				], | |
| 			], | |
| 		]; | |
| 	} | |
| } |