diff --git a/controllers/BannerController.php b/controllers/BannerController.php index e086096..45e5fd1 100755 --- a/controllers/BannerController.php +++ b/controllers/BannerController.php @@ -2,6 +2,7 @@ namespace artweb\artbox\design\controllers; + use artweb\artbox\design\models\BannerLang; use Yii; use artweb\artbox\design\models\Banner; use artweb\artbox\design\models\BannerSearch; @@ -141,6 +142,20 @@ return $this->redirect([ 'index' ]); } + + public function actionDeleteImage($id, $lang_id) + { + /** + * @var BannerLang $model + */ + $model = BannerLang::find()->where(['banner_id' => $id, 'language_id' => $lang_id])->one(); + if(empty($model)) { + throw new NotFoundHttpException(); + } + $model->image = null; + $model->updateAttributes(['image']); + return true; + } /** * Finds the Banner model based on its primary key value. diff --git a/controllers/SliderImageController.php b/controllers/SliderImageController.php index 05da815..0adffa1 100755 --- a/controllers/SliderImageController.php +++ b/controllers/SliderImageController.php @@ -182,6 +182,17 @@ ] ); } + + public function actionDeleteImage($id) + { + $model = SliderImage::findOne($id); + if(empty($model)) { + throw new NotFoundHttpException(); + } + $model->image = null; + $model->updateAttributes(['image']); + return true; + } /** * Finds the SliderImage model based on its primary key value. diff --git a/views/banner/_form_language.php b/views/banner/_form_language.php index 729f274..fbeae6b 100755 --- a/views/banner/_form_language.php +++ b/views/banner/_form_language.php @@ -2,6 +2,7 @@ use artweb\artbox\components\artboximage\ArtboxImageHelper; use artweb\artbox\design\models\BannerLang; use artweb\artbox\language\models\Language; + use yii\helpers\Url; use yii\web\View; use yii\widgets\ActiveForm; @@ -17,19 +18,33 @@ field($model_lang, '[' . $language->id . ']alt') ->textInput([ 'maxlength' => true ]); ?> -field($model_lang, '['.$language->id.']image')->widget(\kartik\file\FileInput::className(), [ - 'model' => $model_lang, - 'attribute' => 'image', - 'options' => [ - 'accept' => 'image/*', - 'multiple' => false - ], - 'pluginOptions' => [ - 'allowedFileExtensions' => ['jpg','gif','png'], - 'initialPreview' => $model_lang->imageUrl ? ArtboxImageHelper::getImage($model_lang->imageUrl, 'slider') : '', - 'showRemove' => false, - 'overwriteInitial' => true, - 'showUpload' => false, - 'showClose' => false, - ], -]); ?> \ No newline at end of file +field($model_lang, '[' . $language->id . ']image') + ->widget( + \kartik\file\FileInput::className(), + [ + 'language' => 'ru', + 'options' => [ + 'accept' => 'image/*', + 'multiple' => false, + 'deleteurl' => $model_lang->isNewRecord?false:Url::to(['/design/banner/delete-image', 'id' => $model_lang->banner_id, 'lang_id' => $model_lang->language_id]), + 'class' => $model_lang->isNewRecord?'':'artbox-delete-file', + ], + 'pluginOptions' => [ + 'allowedFileExtensions' => [ + 'jpg', + 'gif', + 'png', + ], + 'initialPreview' => !empty( $model_lang->getImageUrl( + 0, + false + ) ) ? ArtboxImageHelper::getImage($model_lang->imageUrl, 'slider') : '', + 'initialPreviewShowDelete' => false, + 'overwriteInitial' => true, + 'showRemove' => true, + 'showUpload' => false, + 'showClose' => false, + 'previewFileType' => 'image', + ], + ] + ); ?> \ No newline at end of file diff --git a/views/bg/_form.php b/views/bg/_form.php index f28785e..41e19e3 100755 --- a/views/bg/_form.php +++ b/views/bg/_form.php @@ -5,6 +5,7 @@ use artweb\artbox\design\models\BgLang; use artweb\artbox\language\widgets\LanguageForm; use yii\helpers\Html; + use yii\helpers\Url; use yii\web\View; use yii\widgets\ActiveForm; diff --git a/views/slider-image/_form.php b/views/slider-image/_form.php index 01de77f..466176f 100755 --- a/views/slider-image/_form.php +++ b/views/slider-image/_form.php @@ -7,6 +7,7 @@ use artweb\artbox\language\widgets\LanguageForm; use kartik\select2\Select2; use yii\helpers\Html; + use yii\helpers\Url; use yii\web\View; use yii\widgets\ActiveForm; use kartik\date\DatePicker; @@ -30,7 +31,9 @@ use kartik\date\DatePicker; 'attribute' => 'image', 'options' => [ 'accept' => 'image/*', - 'multiple' => true, + 'multiple' => false, + 'deleteurl' => $model->isNewRecord?false:Url::to(['/design/slider-image/delete-image', 'id' => $model->id]), + 'class' => $model->isNewRecord?'':'artbox-delete-file', ], 'pluginOptions' => [ 'allowedFileExtensions' => [ @@ -38,10 +41,13 @@ use kartik\date\DatePicker; 'gif', 'png', ], - 'initialPreview' => $model->imageUrl ? ArtboxImageHelper::getImage($model->imageUrl, 'slider') : '', - 'overwriteInitial' => true, - 'showRemove' => true, - 'showUpload' => false, + 'initialPreview' => !empty($model->getImageUrl(0, false)) ? ArtboxImageHelper::getImage($model->imageUrl, 'slider') : '', + 'initialPreviewShowDelete' => false, + 'overwriteInitial' => true, + 'showRemove' => true, + 'showUpload' => false, + 'showClose' => false, + 'previewFileType' => 'image', ], ]); ?> field($model, 'end_at') -- libgit2 0.21.4