diff --git a/backend/controllers/SliderImageController.php b/backend/controllers/SliderImageController.php
index f01301a..972b268 100755
--- a/backend/controllers/SliderImageController.php
+++ b/backend/controllers/SliderImageController.php
@@ -9,7 +9,7 @@ use common\models\SliderImageSearch;
use yii\web\Controller;
use yii\web\NotFoundHttpException;
use yii\filters\VerbFilter;
-
+use yii\web\UploadedFile;
/**
* SliderImageController implements the CRUD actions for SliderImage model.
*/
@@ -73,7 +73,12 @@ class SliderImageController extends Controller
if ($model->load(Yii::$app->request->post())) {
$model->slider_id = $slider_id;
- $model->save();
+ if ( ($image = UploadedFile::getInstance($model, 'image')) ) {
+ $model->image = $image->name;
+ }
+ if ($model->save() && $image) {
+ $image->saveAs(Yii::getAlias('@storage/slider/' . $image->name));
+ }
return $this->redirect(['view', 'slider_id'=>$slider_id, 'id' => $model->slider_image_id]);
} else {
@@ -98,7 +103,21 @@ class SliderImageController extends Controller
{
$model = $this->findModel($slider_id, $id);
- if ($model->load(Yii::$app->request->post()) && $model->save()) {
+ if ($model->load(Yii::$app->request->post())) {
+
+
+
+ if ( ($image = UploadedFile::getInstance($model, 'image')) ) {
+ $model->image = $image->name;
+ }
+
+ if(!$model->image){
+ $model->image = $model->getOldAttribute('image');
+ }
+
+ if ($model->save() && $image) {
+ $image->saveAs(Yii::getAlias('@storage/slider/' . $image->name));
+ }
return $this->redirect(['view', 'slider_id'=>$slider_id, 'id' => $model->slider_image_id]);
} else {
diff --git a/backend/views/slider-image/_form.php b/backend/views/slider-image/_form.php
index 92148bd..f5be3e7 100755
--- a/backend/views/slider-image/_form.php
+++ b/backend/views/slider-image/_form.php
@@ -14,20 +14,24 @@ use yii\widgets\ActiveForm;
-
- = ImageUploader::widget([
- 'model'=> $model,
- 'field'=>'image',
- 'size' => [
- [
- 'width'=>$slider->width,
- 'height'=>$slider->height,
- ],
+ ['enctype' => 'multipart/form-data']]); ?>
+
+ = $form->field($model, 'image')->widget(\kartik\file\FileInput::classname(), [
+ 'model' => $model,
+ 'attribute' => 'image',
+ 'options' => [
+ 'accept' => 'image/*',
+ 'multiple' => true
],
- 'gallery' =>$model->image,
- 'name' => 'Загрузить миниатюру статьи'
- ]);
- ?>
+ 'pluginOptions' => [
+ 'allowedFileExtensions' => ['jpg','gif','png'],
+ 'initialPreview' => $model->imageUrl ? \common\components\artboximage\ArtboxImageHelper::getImage($model->imageUrl, 'slider') : '',
+ 'overwriteInitial' => true,
+ 'showRemove' => true,
+ 'showUpload' => false,
+ ],
+ ]); ?>
+
= $form->field($model, 'alt')->textInput(['maxlength' => true]) ?>
@@ -35,8 +39,6 @@ use yii\widgets\ActiveForm;
= $form->field($model, 'url')->textInput(['maxlength' => true]) ?>
- = $form->field($model, 'price')->textInput(['maxlength' => true]) ?>
-
= $form->field($model, 'status')->widget(Select2::className(),([
'name' => 'status',
'hideSearch' => true,
diff --git a/common/models/SliderImage.php b/common/models/SliderImage.php
index a759c26..b24fa3c 100755
--- a/common/models/SliderImage.php
+++ b/common/models/SliderImage.php
@@ -15,7 +15,6 @@ use Yii;
* @property string $url
* @property integer $status
* @property integer $sort
- * @property double $price
*
* @property Slider $slider
*/
@@ -36,7 +35,6 @@ class SliderImage extends \yii\db\ActiveRecord
{
return [
[['slider_id', 'status', 'sort'], 'integer'],
- [['price'], 'number'],
[['image', 'alt', 'title', 'url'], 'string', 'max' => 255],
[['slider_id'], 'exist', 'skipOnError' => true, 'targetClass' => Slider::className(), 'targetAttribute' => ['slider_id' => 'slider_id']],
];
@@ -56,7 +54,6 @@ class SliderImage extends \yii\db\ActiveRecord
'url' => Yii::t('app', 'url'),
'status' => Yii::t('app', 'status'),
'sort' => Yii::t('app', 'sort'),
- 'price' => Yii::t('app', 'price'),
];
}
@@ -67,4 +64,13 @@ class SliderImage extends \yii\db\ActiveRecord
{
return $this->hasOne(Slider::className(), ['slider_id' => 'slider_id']);
}
+
+ public function getImageFile() {
+ return empty($this->image) ? null : '/storage/slider/'. $this->image;
+ }
+
+ public function getImageUrl() {
+ return empty($this->image) ? null : '/storage/slider/'. $this->image;
+ }
+
}
--
libgit2 0.21.4