Commit b352704ae35faa9f8ba4787459c34eef977aa7e8
1 parent
33e98dba
Image delete functionality
Showing
5 changed files
with
69 additions
and
21 deletions
Show diff stats
controllers/BannerController.php
... | ... | @@ -2,6 +2,7 @@ |
2 | 2 | |
3 | 3 | namespace artweb\artbox\design\controllers; |
4 | 4 | |
5 | + use artweb\artbox\design\models\BannerLang; | |
5 | 6 | use Yii; |
6 | 7 | use artweb\artbox\design\models\Banner; |
7 | 8 | use artweb\artbox\design\models\BannerSearch; |
... | ... | @@ -141,6 +142,20 @@ |
141 | 142 | |
142 | 143 | return $this->redirect([ 'index' ]); |
143 | 144 | } |
145 | + | |
146 | + public function actionDeleteImage($id, $lang_id) | |
147 | + { | |
148 | + /** | |
149 | + * @var BannerLang $model | |
150 | + */ | |
151 | + $model = BannerLang::find()->where(['banner_id' => $id, 'language_id' => $lang_id])->one(); | |
152 | + if(empty($model)) { | |
153 | + throw new NotFoundHttpException(); | |
154 | + } | |
155 | + $model->image = null; | |
156 | + $model->updateAttributes(['image']); | |
157 | + return true; | |
158 | + } | |
144 | 159 | |
145 | 160 | /** |
146 | 161 | * Finds the Banner model based on its primary key value. | ... | ... |
controllers/SliderImageController.php
... | ... | @@ -182,6 +182,17 @@ |
182 | 182 | ] |
183 | 183 | ); |
184 | 184 | } |
185 | + | |
186 | + public function actionDeleteImage($id) | |
187 | + { | |
188 | + $model = SliderImage::findOne($id); | |
189 | + if(empty($model)) { | |
190 | + throw new NotFoundHttpException(); | |
191 | + } | |
192 | + $model->image = null; | |
193 | + $model->updateAttributes(['image']); | |
194 | + return true; | |
195 | + } | |
185 | 196 | |
186 | 197 | /** |
187 | 198 | * Finds the SliderImage model based on its primary key value. | ... | ... |
views/banner/_form_language.php
... | ... | @@ -2,6 +2,7 @@ |
2 | 2 | use artweb\artbox\components\artboximage\ArtboxImageHelper; |
3 | 3 | use artweb\artbox\design\models\BannerLang; |
4 | 4 | use artweb\artbox\language\models\Language; |
5 | + use yii\helpers\Url; | |
5 | 6 | use yii\web\View; |
6 | 7 | use yii\widgets\ActiveForm; |
7 | 8 | |
... | ... | @@ -17,19 +18,33 @@ |
17 | 18 | <?= $form->field($model_lang, '[' . $language->id . ']alt') |
18 | 19 | ->textInput([ 'maxlength' => true ]); ?> |
19 | 20 | |
20 | -<?= $form->field($model_lang, '['.$language->id.']image')->widget(\kartik\file\FileInput::className(), [ | |
21 | - 'model' => $model_lang, | |
22 | - 'attribute' => 'image', | |
23 | - 'options' => [ | |
24 | - 'accept' => 'image/*', | |
25 | - 'multiple' => false | |
26 | - ], | |
27 | - 'pluginOptions' => [ | |
28 | - 'allowedFileExtensions' => ['jpg','gif','png'], | |
29 | - 'initialPreview' => $model_lang->imageUrl ? ArtboxImageHelper::getImage($model_lang->imageUrl, 'slider') : '', | |
30 | - 'showRemove' => false, | |
31 | - 'overwriteInitial' => true, | |
32 | - 'showUpload' => false, | |
33 | - 'showClose' => false, | |
34 | - ], | |
35 | -]); ?> | |
36 | 21 | \ No newline at end of file |
22 | +<?= $form->field($model_lang, '[' . $language->id . ']image') | |
23 | + ->widget( | |
24 | + \kartik\file\FileInput::className(), | |
25 | + [ | |
26 | + 'language' => 'ru', | |
27 | + 'options' => [ | |
28 | + 'accept' => 'image/*', | |
29 | + 'multiple' => false, | |
30 | + 'deleteurl' => $model_lang->isNewRecord?false:Url::to(['/design/banner/delete-image', 'id' => $model_lang->banner_id, 'lang_id' => $model_lang->language_id]), | |
31 | + 'class' => $model_lang->isNewRecord?'':'artbox-delete-file', | |
32 | + ], | |
33 | + 'pluginOptions' => [ | |
34 | + 'allowedFileExtensions' => [ | |
35 | + 'jpg', | |
36 | + 'gif', | |
37 | + 'png', | |
38 | + ], | |
39 | + 'initialPreview' => !empty( $model_lang->getImageUrl( | |
40 | + 0, | |
41 | + false | |
42 | + ) ) ? ArtboxImageHelper::getImage($model_lang->imageUrl, 'slider') : '', | |
43 | + 'initialPreviewShowDelete' => false, | |
44 | + 'overwriteInitial' => true, | |
45 | + 'showRemove' => true, | |
46 | + 'showUpload' => false, | |
47 | + 'showClose' => false, | |
48 | + 'previewFileType' => 'image', | |
49 | + ], | |
50 | + ] | |
51 | + ); ?> | |
37 | 52 | \ No newline at end of file | ... | ... |
views/bg/_form.php
views/slider-image/_form.php
... | ... | @@ -7,6 +7,7 @@ |
7 | 7 | use artweb\artbox\language\widgets\LanguageForm; |
8 | 8 | use kartik\select2\Select2; |
9 | 9 | use yii\helpers\Html; |
10 | + use yii\helpers\Url; | |
10 | 11 | use yii\web\View; |
11 | 12 | use yii\widgets\ActiveForm; |
12 | 13 | use kartik\date\DatePicker; |
... | ... | @@ -30,7 +31,9 @@ use kartik\date\DatePicker; |
30 | 31 | 'attribute' => 'image', |
31 | 32 | 'options' => [ |
32 | 33 | 'accept' => 'image/*', |
33 | - 'multiple' => true, | |
34 | + 'multiple' => false, | |
35 | + 'deleteurl' => $model->isNewRecord?false:Url::to(['/design/slider-image/delete-image', 'id' => $model->id]), | |
36 | + 'class' => $model->isNewRecord?'':'artbox-delete-file', | |
34 | 37 | ], |
35 | 38 | 'pluginOptions' => [ |
36 | 39 | 'allowedFileExtensions' => [ |
... | ... | @@ -38,10 +41,13 @@ use kartik\date\DatePicker; |
38 | 41 | 'gif', |
39 | 42 | 'png', |
40 | 43 | ], |
41 | - 'initialPreview' => $model->imageUrl ? ArtboxImageHelper::getImage($model->imageUrl, 'slider') : '', | |
42 | - 'overwriteInitial' => true, | |
43 | - 'showRemove' => true, | |
44 | - 'showUpload' => false, | |
44 | + 'initialPreview' => !empty($model->getImageUrl(0, false)) ? ArtboxImageHelper::getImage($model->imageUrl, 'slider') : '', | |
45 | + 'initialPreviewShowDelete' => false, | |
46 | + 'overwriteInitial' => true, | |
47 | + 'showRemove' => true, | |
48 | + 'showUpload' => false, | |
49 | + 'showClose' => false, | |
50 | + 'previewFileType' => 'image', | |
45 | 51 | ], |
46 | 52 | ]); ?> |
47 | 53 | <?= $form->field($model, 'end_at') | ... | ... |